1

Adapter が接続された ListActivity があります。今、アダプターのリスト項目のクリックを登録したいと思います。これは、ListActivity の onCreate での私のソリューションです。

        this.myList = getListView();
        this.myList.setAdapter(this.adapter);
        this.myList.setOnItemClickListener(new OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
                Log.d("Click", "ListView");
            }
        });

しかし、OnItemClickListener は応答しません。なにが問題ですか?

4

4 に答える 4

1
ListView list = (ListView) findViewById(R.id.listView1);

 MobileArrayAdapter adapter = new MobileArrayAdapter(this,android.R.layout.simple_list_item_1);
 list.setAdapter(adapter);       

 list.setOnItemClickListener(new OnItemClickListener() {
 public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
 //your data

     }
}   
于 2012-07-07T09:53:15.407 に答える
0

設定する必要はありませんOnItemClickListener。オーバーライドする必要がありますonListItemClick:

@Override 
    public void onListItemClick(ListView l, View v, int position, long id) {
        // Do something when a list item is clicked
    }

3 番目のパラメータ は、アダプタpositionの at 要素です。position

于 2012-07-07T09:29:08.873 に答える
-1

各ImageView、Button、Checkbox、TextViewなどの行レイアウトよりもadpterで使用した各リスト項目の行レイアウトがある場合...この行をxmlに追加する必要があります

 android:clikable="false"
 android:focusable="false"
于 2012-07-07T09:47:50.300 に答える
-1

これがありません:

    this.myList.setChoiceMode(ListView.CHOICE_MODE_SINGLE);

デフォルトでは、list には選択モードがありません。つまり、デフォルトで CHOICE_MODE_NONE に設定されています。クリック可能にするには、必要に応じて CHOICE_MODE_SINGLE または CHOICE_MODE_MULTIPLE として設定する必要があります。

于 2012-07-07T09:49:28.147 に答える