两步注册,下一个fragment by button

Registration with two steps, next fragment by button

我想在我的应用程序中处理用户注册。我认为使用片段是处理它的最佳方式。 我更喜欢使用按钮移动到注册完成片段,而不是 swype。

我必须将几个字段发送到另一个字段,最后通过 Retrofit 发送所有数据。

有什么解决办法吗?

您可以实施回调来保存 activity 上的值。

首先创建界面:

public interface ActivityCallback {

    void sendData(String data1,String data2);

}

然后让你的activity实现这个接口:

public class MyActivity extends AppCompatActivity implements ActivityCallback{
    private ArrayList<String> arrayData = new ArrayList<>();
    ...
    @Override
    void sendData(String data1, String data2){
        this.arrayData.add(data1);
        this.arrayData.add(data2);
    }
    ...

}

然后在您的片段上,当您决定进入下一步时:

public class YourFragment extends Fragment{
    private Button nextButton;
    private EditText text1;
    private EditText text2;
    protected ActivityCallback callback;

    ...

    @Override
    public void onAttach(Context context) {
        super.onAttach(context);
        callback = (ActivityCallback) context;
    }

    @Override
    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
        ...
        nextButton = (Button) findViewById(R.id.next_button);
        nextButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                callback.sendData(text1.getText().toString(),text2.getText().toString());
            }
        });
    }
}