Ysd我在这里发了一篇帖子,但似乎并没有解决我的问题。我也在stackoverflow中寻找类似的帖子,但它对我也不起作用。在这篇文章中,我想我必须详细解释我想要实现的目标。
基本上,我在1个活动中有2个碎片。从下面的屏幕截图中,当用户输入sth并单击片段1中的按钮时,它将到达片段2。
我想要做的是在片段2中,当用户点击左上角的后退按钮或按设备后退按钮时,它将返回上一个片段(片段1)。
two.java
public class two extends Fragment{
TextView get_display_input;
ImageView get_back_button;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_two, container, false);
}
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
get_display_input=(TextView)getActivity().findViewById(R.id.display_input);
get_back_button=(ImageView) getActivity().findViewById(R.id.back_button);
Bundle bundle = getArguments();
String get_name = bundle.getString("input_name_value");
get_display_input.setText("You have entered "+get_name);
get_back_button.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
FragmentManager manager=getFragmentManager();
FragmentTransaction transaction=manager.beginTransaction();
getFragmentManager().popBackStackImmediate();
transaction.commit();
}
});
}
}
以上编码是片段二。当我尝试使用
时getFragmentManager().popBackStackImmediate();
getActivity().getFragmentManager().popBackStack();
它不起作用..请帮忙。