2012-02-28 10 views
3

私はListFragmentを持っています。私はonitemclickイベントを使いたいです。しかし、私には多くの問題があります。手伝って頂けますか ?私はこのイベントが正しいか正しかったのですか?Androidのlistfragment onItemClickが機能していませんか?

ありがとうございます。 ..

public class MesajFragment extends android.support.v4.app.ListFragment 
    ... 
    @Override 
public void onStart() { 
    // TODO Auto-generated method stub 
    super.onStart(); 

    getListView().setOnItemClickListener(new OnItemClickListener() { 

     public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, 
       long arg3) { 
      // TODO Auto-generated method stub 
      Toast.makeText(getActivity(), arg2 + " okwww ", 
        Toast.LENGTH_LONG); 

     } 
    }); 
} 
+0

私はそれはあなたのコード内のどこかに問題があるかもしれないと思います。ここでハンドラメソッドで設定したブレークポイントをヒットします。http://pastebin.com/yb12XaTg私はそれがAndroidがスレッドを扱う方法ともっと関係があると思われる。 – Jackie

答えて

9

トーストメッセージでは、.show()を呼び出していません。これは次のようになります。

Toast.makeText(getActivity(), arg2 + " okwww ", 
        Toast.LENGTH_LONG).show(); 

最後に.show()を参照してください。あなたのonClickが動作している可能性があります。あなたのトーストメッセージが表示されていないので表示されません

+0

実際にあなたは正しいですが、私はデバッグしており、そこにブレークポイントがあるので、ショーを置くと同じです。これは解決策ではありません。 – Yaya

+0

あなたのご意見が分かりません。トーストが見せていますか?他に何が起こるのですか?何が起こると思いますか? – dymmeh

+0

申し訳ありませんがミスタイプです。私はブレークポイントを置き、それはまだブレークポイントで停止しません。 – Yaya

5

あなたの例はListViewを取得し、そのクリックリスナーを設定します。 ListFragmentを拡張する場合は、あなたの代わりにonListItemClickを上書きする必要があります。

@Override 
public void onListItemClick(ListView l, View v, int position, long id) { 
    // TODO Handle item click 
} 
関連する問題