gpt4 book ai didi

android - 通过按下提交按钮从多个 fragment 获取值到 Activity

转载 作者:行者123 更新时间:2023-11-30 00:03:50 26 4
gpt4 key购买 nike

我刚刚开始编写 Android 应用程序。我已经在 Google 和 Stackoverflow 上搜索了答案,但找不到适合我的问题的正确答案,所以我希望你们能帮助我。

所以我现在拥有的是 Activity 中的多个 fragments,其中包含许多 EditText 字段。当用户填写所有字段时,我想通过按下 Activity 上的“提交”Button 来获取所有这些值。我搜索的东西会识别出我按下 ActivityButton(所以在 fragments 之外),然后保存值所有 fragments 例如 bundles。最好的方法(但我认为这是不可能的)是通过 fragmentsviewsgetstring 获取数据。

你能帮帮我吗?

最佳答案

public interface ActivityFragmentCallback {
String getData();
String getTAG();
}

public class FragmentA extends Fragment implements ActivityFragmentCallback {

@Override
public String getData() {
return editText.getText().toString();
}

@Override
public String getTAG() {
return "FragmentA";
}

}

public class ActivityA extends BaseActivity {
private ActivityFragmentCallback callback;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(/* your layout id */);
View button = view.findViewById(R.id.btn_next);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String tag = callback.getTAG();
String data = callback.getData();
//depends on tag set your data
}
})
}

@Override
public void onAttachFragment(Fragment fragment) {
super.onAttachFragment(fragment);
try {
callback = (ActivityFragmentCallback) fragment;
} catch (ClassCastException e) {
L.e(TAG, e);
}
}

@Override
protected void onDestroy() {
super.onDestroy();
callback = null;
}
}

关于android - 通过按下提交按钮从多个 fragment 获取值到 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49404070/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com