我想知道如何从选项卡布局内的 2 个不同 fragment 获取数据。
例如:在此图像中,有两个选项卡 tab1 和 tab2 都在编辑文本中存储了不同的值。
tab1 你好, tab2 hiiiiiii
我在主要 Activity 中有一个按钮可用,用于同时从两个选项卡获取数据。
现在我的问题是如何在用户点击时同时从两个选项卡获取数据
获取数据按钮
最佳答案
1.) 在您的 Activity 中保留您的 fragment 的引用。
public class Activity extends AppCompatActivity {
private yourFargment frag1,frag2;
}
2.) 在Adapter
的getItem()
中将对象引用获取到您的引用变量中。
@Override
public Fragment getItem(int index) {
switch (index) {
case 0:
frag1 = yourFargment.newInstance(index);
//frag1 =new yourFargment (); can also be used
return frag1;
case 1:
frag2 = yourFargment.newInstance(index);
return frag2;
}
return null;
}
3.) 在您的 onClick
中,您可以简单地从 edittext
中获取这些值。
onClick(View..){
String val1 = frag1.edittext1.getText().toString(); // Note: make your `edittext` public
String val2 = frag2.edittext2.getText().toString();
或
String val1 = frag1.getData();
String val2 = frag2.getData();
}
getData
是 fragment
中的一个 public
方法
public class yourFragment..{
public String getData(){
return edittext.getText().toString();
// Note: with this no need to make your `edittext` public
}
}
关于android - 如何从选项卡中的两个不同 fragment 获取数据到主要 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39466100/