アクティビティに含まれるフラグメントにサインアップフォームがあります。フラグメント内でサブミットボタンをクリックすると、メインのアクティビティに関数を実装する必要があります。フラグメントからアクティビティへのEditText値の受け渡し
android:onClick="signUp"
アクティビティに直接移動します。しかし、どのようにフラグメント値を取得できますか?同じ場所で別々のフラグメントを切り替えるため、私のフラグメントにはアイデアがないので、複雑です。
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View v = inflater.inflate(R.layout.fragment_sign_up, container, false);
email =(EditText) v.findViewById(R.id.emailEt);
mListener.setEmail(email.getText().toString());
pass1 = (EditText) v.findViewById(R.id.passEt1);
mListener.setPass1(pass1.getText().toString());
pass2 = (EditText) v.findViewById(R.id.passEt2);
mListener.setPass2(pass2.getText().toString());
pseudo = (EditText) v.findViewById(R.id.pseudoEt);
mListener.setPseudo(pseudo.getText().toString());
signup =(Button) v.findViewById(R.id.signUpB);
return v;
}
public interface OnFragmentInteractionListener {
// TODO: Update argument type and name
void onSignUpFragmentInteraction(Uri uri);
public void setEmail(String email);
public void setPass1(String pass1);
public void setPass2(String pass2);
public void setPseudo(String pseudo);
}
その後、私の活動に:私が試した何
@Override
public void setEmail(String email) {
}
@Override
public void setPass1(String pass1) {
}
@Override
public void setPass2(String pass2) {
}
@Override
public void setPseudo(String pseudo) {
}
@Override
public void onLoginFragmentInteraction(Uri uri) {
}
しかし、私は今何をすべきかわからない...
フラグメントにインターフェイスを設定して、それを自分のアクティビティに実装することができます。あなたが持っている問題は何ですか? –
編集しました。値を取得する方法がありません –
https://developer.android.com/training/basics/fragments/communicating.html これはあなたが知る必要があるすべてです。 editTextの値をユーザーが入力するとすぐに取得する場合は、TextWatcherを使用します。 –