Android 如何在popBackStack()上获取元素
我有两个片段:在第一个片段中,我做到了:Android 如何在popBackStack()上获取元素,android,android-fragments,Android,Android Fragments,我有两个片段:在第一个片段中,我做到了: ritorno.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { manager.beginTransaction().replace(R.id.content_frame,new SearchFlight()).addToBackStack(nul
ritorno.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v)
{
manager.beginTransaction().replace(R.id.content_frame,new SearchFlight()).addToBackStack(null).commit();
}
});
这很有效。在第二部分中,我需要返回到第一个片段,因此我决定这样做:
String s = element.getText().toString(); //I need to return it
FragmentManager manager = getActivity().getSupportFragmentManager();
SearchFragment fragment = new SearchFragment();
manager.popBackStack();
我需要返回到这个字符串的第一个片段。我怎么做呢?
谢谢有三种方法
public Static
变量,在第二个片段中更新其值将字符串传递给BR或EventBus,您可以通过定义适当的方法或侦听器在第一个片段中获取它。尝试使用bundle对象来获取它
String s = element.getText().toString(); //item to be returned
FragmentManager manager = getActivity().getSupportFragmentManager();
SearchFragment fragment = new SearchFragment();
Bundle bundle = new Bundle();
bundle.putString("key", "value");
fragment.setArguments(bundle);
manager.popBackStack();
然后,在SearchFragment中解析捆绑包,如下所示:
Bundle bundle = this.getArguments();
bundle.getString("key");
在SearchFragment的onCreateView中执行捆绑包的解析部分。对包的解析部分进行空检查。如果未解析捆绑包,则getString(“key”)方法将给出空指针异常 为什么你建议用“添加”而不是“替换”?阅读问题时出现了一些误解,很抱歉,没问题。你建议三种方法中的哪一种?公共静态有效吗?我建议您选择EventBus。因为第一个片段已从后台删除,所以它可能无法从广播接收器或EventBus接收消息。