将 webview 与输入的字符串值一起使用

Using webview with entered string values

我只想问你如何使用 webview 和来自 edittext 的输入字符串? 例如,我创建了 2 个片段,其中一个显示 webview,另一个从用户那里获取 2 个编辑文本。我只想输入从 2.fragment 到 1.fragment 的 edittext 值。因为我想像这样创建一个 URL :webView.loadUrl("http://www.truebilisim.com/myiphone/index.php?id=" + ID + "&sifre=" + Password);

这是我的第一个片段。

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".Tab1">

<WebView
    android:id="@+id/webView1"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

这是第二个

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".Tab2">

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:paddingTop="80dp"
    android:paddingRight="30dp"
    android:paddingLeft="30dp"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".Tab2">

    <ImageView
        android:src="@drawable/logo_small"
        android:id="@+id/logo"
        android:layout_marginBottom="30dp"
        android:layout_width="match_parent"
        android:layout_height="100dp" />
    <android.support.design.widget.TextInputLayout
        android:id="@+id/layout_id"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/logo">

        <EditText

            android:hint="ID"
            android:textColor="@color/colorPrimary"
            android:id="@+id/idx"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />

    </android.support.design.widget.TextInputLayout>
    <android.support.design.widget.TextInputLayout
        android:id="@+id/layout_pass"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/layout_id"
        >

        <EditText
            android:inputType="textPassword"
            android:hint="Şifre"
            android:textColor="@color/colorPrimary"
            android:id="@+id/password"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />

    </android.support.design.widget.TextInputLayout>

    <Button
        android:id="@+id/btn_login"
        android:layout_below="@id/layout_pass"
        android:backgroundTint="@color/colorPrimaryDark"
        android:text="KAYDET"
        android:layout_marginTop="30dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
         />
</RelativeLayout>

您的问题太大,无法在这里回答。它不具体。我只是想提一下步骤。如果搜索得当,您会找到特定部分的代码。

  • 初始化您的 EditText。当用户单击登录按钮时,您将发送来自 EditText 的值。

  • 在登录按钮上设置onClickListener。在侦听器内部,检查您的 EditTexts 是否有价值。如果它们有价值,请转到另一个片段。

  • EditText的值发送到另一个片段,你可以通过多种方式做到这一点。一种是,只获取目标片段对象的实例,然后发送值。

我得到了这样的字符串,但找不到在第一个片段中使用的方法。你能告诉我吗?

public class Tab2 extends Fragment {


public Tab2() {
    // Required empty public constructor
}
EditText ed1,ed2;
private Button b1;

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,
                         @Nullable Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_tab2, container, false);

    b1 = view.findViewById(R.id.btn_login);
    ed1 = view.findViewById(R.id.idx);
    ed2 = view.findViewById(R.id.password);

    b1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
        String n = ed1.getText().toString();
        String p = ed2.getText().toString();

        }
    });

    return view;

}

}