0

リスト ビューと詳細ビューを表示するために、アプリケーションで 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();
         }      
   }

}
4

0 に答える 0