:私のonitemlongclickリスナーが動作しないのはなぜですか? MainActivityから
public class MainActivity extends ListActivity implements AdapterView.OnItemLongClickListener {
private DataSourceSql mDataSourceSql;
protected ArrayList<String> mProfileNames;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mDataSourceSql = new DataSourceSql(MainActivity.this);
mNames = new ArrayList<String>();
//this part here
ListView lv = (ListView) findViewById(android.R.id.list);
lv.setLongClickable(true);
}
この場合ListView
のIDは、android:id="@android:id/list"
としてXMLに設定されています。
そして後で同じ活動で:
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
Toast.makeText(this, mNames.get(position), Toast.LENGTH_SHORT).show();
}
@Override
public boolean onItemLongClick(AdapterView<?> l, View v, final int position, long id) {
Toast.makeText(this, "long clicked: " + mNames.get(position), Toast.LENGTH_LONG).show();
return true;
}
しかし、私長押し、リスト内のアイテム、onListItemClick
あるトリガー唯一のもの。私は長いクリックでメッセージを得ることはありません。
私は – user6101402
あなたが '' lv.setOnLongClickListener(これ)を呼び出す必要があります(私は、リスト内の項目を保持し、より多くのオプションを取得することができるようにしたい)長いクリック=長押しを前提としています。 –
@MikeM。私の答えは間違っている/悪い練習ですか? – user6101402