我有两个片段:在第一个片段中我这样做:
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();
我需要返回此String的第一个片段。我怎么能这样做? 谢谢
答案 0 :(得分:0)
有三种方式
public static
变量,在第二个片段中更新其值。将字符串传递给BR或EventBus,您可以通过定义适当的方法或监听器在第一个片段中获取它。
答案 1 :(得分:-2)
尝试使用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中执行捆绑包的解析部分。对包的分辨率部分进行空检查。如果未解析bundle,则getString(“key”)方法将给出空指针异常。