リスト ビューに追加したいですOnLongClickListener
。ユーザーがリスト内の項目を長押しするたびに、何らかのアクションが実行されるはずですが、私のコードではこのリスナーがキャッチされません。どこが間違っているのか教えてください。同様のコードはsetOnItemClickListener
非常にうまく機能します。
コードは次のとおりです:
listView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
public boolean onItemLongClick(AdapterView<?> arg0, View v,
int index, long arg3) {
// TODO Auto-generated method stub
Log.d("in onLongClick");
String str=listView.getItemAtPosition(index).toString();
Log.d("long click : " +str);
return true;
}
});
ベストアンサー1
設定する必要がありますsetOnItemLongClickListener()ListView 内:
lv.setOnItemLongClickListener(new OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> arg0, View arg1,
int pos, long id) {
// TODO Auto-generated method stub
Log.v("long clicked","pos: " + pos);
return true;
}
});
リスト内の各項目の XML (カスタム XML を使用する場合)android:longClickable="true"
にも が必要です (または、便利なメソッド を使用できますlv.setLongClickable(true);
)。この方法では、一部の項目だけがロングクリックに応答するリストを作成できます。
これがお役に立てば幸いです。