アプリケーションでフラグメントを使用して実験しています。アプリケーションを他のフラグメントに切り替えるときに、フラグメントによって使用されるデータを保存する方法を見つけようとしています。2番目のフラグメントのコードは次のとおりです。このフラグメントとの間で切り替えるときは、フラグメントの追加と削除を使用しています。これは、replaceを使用していたときに問題が発生したためです。他のフラグメントに切り替えて、このフラグメントに戻ると、カウントは保存されません。フラグメントが開いたときにカウントに戻ることができるように、実際にカウントを保存するにはどうすればよいですか?
public class BasicFragment2 extends Fragment {
public int count = 0;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
if (savedInstanceState != null){
count = savedInstanceState.getInt("Integer");
}
View view = inflater.inflate(R.layout.fragment_basic_2, container, false);
Button button = (Button) view.findViewById(R.id.button2);
// A simple OnClickListener for our button. You can see here how a Fragment can encapsulate
// logic and views to build out re-usable Activity components.
button.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Activity activity = getActivity();
count++;
if (activity != null) {
Toast.makeText(activity, "This is not a fragment...Yes it is " + count, Toast.LENGTH_LONG).show();
}
}
});
return view;
}
public void onSaveInstanceState(Bundle outState){
outState.putInt("Integer",count);
super.onSaveInstanceState(outState);
}
}