1

重複の可能性:
setOnItemClickListener が呼び出されない

ベースアダプターを拡張するカスタムアダプターがあります。onCreate で setOnItemClickListener を設定して onItemClick を実装すると、行をクリックしても応答がありません。

     ListView lv = (ListView)findViewById(R.id.list);
     adapter = new ModuleAdapter(this);
     lv.setAdapter(adapter);
     lv.setOnItemClickListener(this);

onCreate の後:

     @Override
     public void onItemClick(AdapterView<?> parent, View view, int position,
        long id) {

   Log.v(TAG, "clicked");

     }

私の行にはテキストビューしかありません。誰でも助けてもらえますか?

4

2 に答える 2

1

使用したい場合

lv.setOnItemClickListener(this);

アクティビティにOnItemClickリスナーを実装する必要があります。

また、@user1597833の回答を使用することもできます。

セルではなくテキストビューをクリックする場合は、@jeetの回答を試してください。

于 2012-11-03T14:21:03.767 に答える
0

行アイテムビューのビューのように、フォーカス可能でクリック可能なプロパティがtrueであるため、リスト行アイテムの代わりにアイテムの子がクリックイベントを受け取ります。この場合、この問題を解決するには、行アイテムのフォーカス可能のすべてのビューを変更し、 clickable プロパティを false に設定します。

于 2012-11-03T13:01:43.727 に答える