私のAndroidアプリでは、検索機能が機能し、リストには正しくデータが入力されますが、アイテムはクリックできません。私はそれを機能させようとしています。これが私のコードです。アイテムがクリックできない理由を誰でも見ることができますか?
private void showResults(String query) {
Cursor cursor = DBHelper.searchDB(query);
startManagingCursor(cursor);
String[] searchFrom = new String[] { DBAdapter.KEY_TITLE,
DBAdapter.KEY_YEAR, DBAdapter.KEY_MAKE,
DBAdapter.KEY_MODEL };
int[] displayHere = new int[] { R.id.rTitleTV, R.id.rYearTV,
R.id.rMakeTV, R.id.rModelTV };
SimpleCursorAdapter records = new SimpleCursorAdapter(this,
R.layout.record_2, cursor, searchFrom, displayHere);
setListAdapter(records);
DBHelper.close();
// --- Click on list item ---
ListView clickList = getListView();
clickList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
// TODO Auto-generated method stub
}
});
// --- END click on list item ----
}
onClick を機能させたいだけです。現時点では何もしなくてもかまいません。その機能は後で入れます。
例record_2.xml
:
<TextView
android:id="@+id/rMakeTV"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:text="Make"
android:textColor="#000000"
android:textSize="16dp"
android:textStyle="bold" >
</TextView>
サムが指摘していることに基づいてこれを試しましたが、リスト項目はまだクリックできません。
// --- Click on list item ---
AdapterView<?> clickList = getListView();
clickList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
// TODO Auto-generated method stub
}
});
// --- END click on list item ----
records
ListAdapterへの参照がないため、動作しsetOnItemClickListener
ないように思えますか?