2012-01-10 69 views
1

デフォルトのArrayAdapterを使用してリストビューを作成しました。しかし、リストからアイテムを選択するには、アイテムだけをタップして、行をタップする必要があります。アイテム自体ではなく、アイテムが入っている行をクリックするには、どうすれば変更できますか?ここでアイテムではなくListViewの行を選択します。

は私のリストビューのコードです:ここで

ListView mListView = (ListView) findViewById(android.R.id.list); 
    mListView.setAdapter(new ArrayAdapter<String>(this, R.layout.row, ans)); 
    mListView.setOnItemClickListener(new OnItemClickListener(){ 
     @Override 
     public void onItemClick(AdapterView<?> arg0, View v, int i, 
       long l) { 
      Log.d(LOG_TAG,"Selected option"+i); 
      startActivity(intent); 
      finish(); 
     } 

    }); 

は、リストビューのXMLである:ここで

<ListView 
     android:id="@+id/list" 
     android:layout_width="wrap_content" 
     android:layout_height="250dp" 
     android:layout_marginLeft="50dp" 
     android:layout_marginRight="50dp" 
     android:divider="@drawable/list_divider" 
     android:dividerHeight="1dp" /> 

はrow.xmlです:

<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
style="@style/list_answers" 
/> 

答えて

2
はあなたを変更

行の子ビューにはandroid:focusable="false"が含まれます。これにより、行全体をクリックすることができます。今、個々のビューはフォーカスを得ることができると考えているので、行の「上」に表示されます。

P.S.本当に必要なのは、ListViewのROWのXMLです。 ListView自体ではありません。 :)

この情報がお役に立てば幸いですが、

FuzzicalLogic

+0

私はあなたのTextViewにそれを追加することを意味しますrow.xmlを追加しましたか? – JustCurious

+0

はいそれはしばしばその正確な問題に対する修正です。私はしばしば 'android:clickable =" false "'を追加しますが、大抵の状況では必要ではありません。 –

+0

行に複数のビューが含まれている場合は、それぞれのビューにそのビューを含めます。 :) –

関連する問題