私は、アンドロイドを学ぶために食料雑貨品リストアプリを開発していますが、ListViewのアイテムを取得して、私が設定したItemClickListenerのonClickイベントをトリガーする方法がわかりません。リストビュー。メソッドrenderList()はonResume()メソッドから呼び出され、データベースから食料品のリストを取得し、ListViewを埋め込みます。なぜこの実装は機能しません。 list_itemをクリックしてもトーストは表示されませんか?(Android)ListView onItemClicked not triggering
list_itemはCheckBoxビューです。
@Override
protected void onResume() {
super.onResume();
renderList();
}
protected void renderList(){
try {
dbHelper = new DbHelper(getApplicationContext());
db = dbHelper.getReadableDatabase();
cursor = db.query(DbHelper.TABLE, null, null, null, null, null, DbHelper.C_ID + " DESC");
startManagingCursor(cursor);
adapter = new SimpleCursorAdapter(this, R.layout.list_item, cursor, FROM, TO);
groceriesList = (ListView)findViewById(R.id.listView1);
groceriesList.setAdapter(adapter);
groceriesList.setOnItemClickListener(clickListen);
} catch (Exception e) {
Log.d(TAG, "RenderList Error: ",e);
}
}
private OnItemClickListener clickListen = new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long arg3) {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), "pos: "+position, Toast.LENGTH_SHORT).show();
}
};
技術的には私はあなたが正しいと思っています。私はそれを動作させるためにtextViewに切り替える必要がありました。私はtextViewとチェックされていないチェックボックスの画像でlinearLayoutを作った。クリックされるとチェックされたチェックボックスに画像が変わるだけだった。 – Atomix
カスタムCursorAdapterクラスを使用してリストビューを作成しました – Atomix