リスト ビューと詳細ビューを表示するために、アプリケーションで 2 つのフラグメントを使用しました。リストフラグメントを押すと詳細ビューフラグメントが表示され、押し戻すとリストフラグメントが表示されます。このフローは正常に機能していますが、問題は、リストフラグメントを毎回ロードすることです (フラグメントを再開する代わりに、フラグメントを作成します)。体に問題があれば、これを解決するのを手伝ってください。
//アクティビティ クラス
public class MainActivity extends ActionBarActivity {
/** Activity Override - Start */
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getSupportActionBar().hide();
setContentView(R.layout.activity_folio_level);
System.out.println("Inside the FolioLevelActivity onCreate() method!!!!!!!!");
Bundle bundle = getIntent().getExtras();
FirstFragment fragment = new FirstFragment ();
fragment.setArguments(bundle);
if(savedInstanceState==null){
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,fragment).commit();
}
}
@Override
public void onBackPressed() {
super.onBackPressed();
overridePendingTransition(R.anim.right_to_left_in, R.anim.right_to_left_out);
}
@Override
protected void onResume() {
super.onResume();
System.out.println("Inside the FolioLevelActivity onResume() method!!!!!!!!!");
}
@Override
protected void onPause() {
super.onPause();
System.out.println("Inside the FolioLevelActivity onPause() method!!!!!!!!!");
}
/** Activity Override - End */
}
//フラグメント 1:
public class FirstFragment extends Fragment implements OnClickListener,OnItemClickListener{
private ListView mListView;
/** Override method for drawing the fragment user interface. */
@Override
public View onCreateView(LayoutInflater inflater,
@Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_folio_level,container, false);
initViews(rootView);
getActivity().getSupportFragmentManager().beginTransaction()
.setCustomAnimations(R.anim.right_to_left_in,R.anim.right_to_left_out,R.anim.left_to_right_in,R.anim.left_to_right_out)
.replace(R.id.fragment_container, new SecondFragment().addToBackStack(null).commit();
return rootView;
}
/** This function for handling all widget click events*/
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.back_button:
getActivity().onBackPressed();
break;
default:
break;
}
}
/** Override - start */
@Override
public void onResume() {
super.onResume();
mListView.setOnItemClickListener(this);
}
@Override
public void onPause() {
super.onPause();
mListView.setOnItemClickListener(null);
}
}
//フラグメント 2:
public class SecondFragment extends Fragment implements OnClickListener {
/** This override method for drawing the user interface. */
@Override
public View onCreateView(LayoutInflater inflater,
@Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_scheme_level,container,false );
return rootView;
}
@Override
public void onClick(View v) {
if(v.getId()== R.id.back_button){
getActivity().getSupportFragmentManager().popBackStack();
}
}
}