2017-12-10 6 views
0

このコードでlistviewのItemclicklistenerで新しいフラグメントを開くことができません。この問題をどうやって解決するのですか?リストビューのItemclicklistenerで新しいフラグメントを開くことができません

ListView listView = (ListView) findViewById(R.id.mobile_list); 
    listView.setAdapter(adapter); 
    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
    public void onItemClick(AdapterView<?> parent, View view, 
             int position, long id) { 
    if (position == 0) { 

    FragmentManager fm = getSupportFragmentManager(); 
    menu = new Menu(); 
    FragmentTransaction ft = fm.beginTransaction(); 
    ft.add(R.id.frag, menu); 
    ft.commit(); 
+0

「開けない」とはどういう意味ですか?コードをデバッグしましたか?クリックリスナーがクリックされたことを確認できますか? – dominicoder

答えて

1

以下のコードは私の仕事です。それを試してみてください。何か明確化が必要な場合は尋ねる。

ListView listView = (ListView) findViewById(R.id.mobile_list); 

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> parent, View view, int position, long id) {  
       Fragment fr = new Menu2(); // next fragment class name is Menu2. Change it to your next class name 
       FragmentManager fm=getFragmentManager(); 
       android.app.FragmentTransaction ft=fm.beginTransaction();     
       ft.replace(R.id.content_main, fr); // your main layout id. not next fragment layout. 
       ft.addToBackStack(null); 
       ft.commit(); 
      } 
     }); 
+0

それは私にとってはうまく動作せず、私の主なレイアウトIDは脆弱です。 –

+0

あなたのレイアウト、Androidマニフェストまたはプロジェクト設定に問題があります。あなたがそのレイアウトを最初にチェックすればよい。 javeコードにエラーはありません。 –

関連する問題