0

私の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 ----

recordsListAdapterへの参照がないため、動作しsetOnItemClickListenerないように思えますか?

4

2 に答える 2

0

これを試して。メソッドのAdapterView前に削除します。またはシンプルに置き換えますOnItemClickListenersetOnItemClickListener()AdapterViewView

于 2012-09-22T16:44:47.997 に答える
0

メソッドで何もしていませんonItemClick()が、それが機能しているかどうかをどのように知ることができますか (デバッガーを使用していない場合)。コードは問題ないように見えるので、次のような簡単なことを試してください。

ListView clickList = getListView();
clickList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
        Log.v("Test", "A row was clicked with OnItemClick!");
    }
});

これらのメッセージについては、logcat を監視してください。

于 2012-09-22T17:46:58.800 に答える