2012-07-23 17 views
28

ListActivityでandroid listviewを実装しました。ここで私は、リストの項目をクリックすると、フラッシュの色もオレンジ色にならないときに何も処理が行われないという問題があります。だから私の質問に対するこの親切な答えについて何か考えがありますか?Listitem Listviewでクリックが機能していませんandroid

@Override 
protected void onListItemClick(ListView l, View v, int position, long id) 
{ 
    super.onListItemClick(l, v, position, id); 
    Toast.makeText(getApplicationContext(), "msg msg", Toast.LENGTH_SHORT) 
      .show(); 

} 

このコードをMain ListActivityにも入れます。

 listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE); 

そして、あなたは、リスト項目のいずれかのクリック可能なImageViewのかのTextViewやボタンを持っている場合は、(あなたのアダプタクラスで)彼らはフォーカス不可能ます

+2

コードplz – Nermeen

+0

とあなたのリストアダプターコード – rajpara

+1

あなたのリストにボタンやImageButtonがありますか? –

答えて

107

+2

アイテムを聞く場合は 'clickable = false'を追加するだけです – mente

+0

助けてください。私はこの7時間、これについてきました。それはとても簡単な質問です。 http://stackoverflow.com/questions/35108940/why-cant-i-remove-an-item/35109304#35109304 –

+1

私にとって、 'imageButton.setFocusable(false)'と 'imageButton.setFocusableInTouchMode(false)' **アダプター**で助けました。 XMLでは何の効果もありませんでした! – user2878850

9

あなたはSINGLEにリストビューの選択モードを設定しています:

 yourButton.setFocusable(false); 
     yourButton.setFocusableInTouchMode(false); 
+0

私を助けてください。私はこの7時間、これについてきました。それはとても簡単な質問です。 http://stackoverflow.com/questions/35108940/why-cant-i-remove-an-item/35109304#35109304 –

4

カスタムアダプターを使用していますか?ボタンリストや、リストリストビューのフォーカスを子として取り除くビューを使ってレイアウトを膨張させると、明らかに機能しません。

android:focusable="false" 

このようなビューをXMLファイルに設定してください。これがあなたのために働くことを望みます。これはあなたのlistactivityのjavaファイル内

listview1.setFocusable(false); 
+0

私を助けてください。私はこの7時間、これについてきました。それはとても簡単な質問です。 http://stackoverflow.com/questions/35108940/why-cant-i-remove-an-item/35109304#35109304 –

4

セットには、ここで注意しなければならないものをまず最初に、ボタンやあなたのListView要素でImageButtons現在のようなクリッカブル要素がある時はいつでも、彼らはクリックの制御を取る、で​​すイベント。したがって、あなたのListViewは、クリックイベントを受け入れる機会を得られません。

あなたがしなければならないのは、リストビューにあるButtonまたはImageButtonの属性をfocusableに設定するだけです。しかし、それでも問題なく動作し、ListViewのonListItemClickも動作します。

は、私はこのandroid:focusable="false"を追加したし、それが正常に動作します。ここ

 <Button android:id="@+id/textsize_increaser" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_toRightOf="@+id/back_button" 
     android:focusable="false" 
     android:text=" A + "/> 

、これを試してみてください。それを試してみてください。

1

Eclipseは、リストビューに使用されたレイアウトxmlのTextViewにtextIsSelectable="true"を追加するように勧めました。

リストの項目をクリックしたい場合は、これらのタグを追加しないでください。

0

解決のために、この記事を参照してください。

Click is not working on the Listitem Listview android

View v = parent.getChildAt(position); 
parent.requestChildFocus(v,view); 
v.setBackground(res.getDrawable(R.drawable."Some drawable for clicked row")); 

int count = parent.getChildCount(); 
for(int i=0; i<count; i++) 
{ 
    if(i!=position) 
    { 
    v = parent.getChildAt(i); 
    v.setBackground(res.getDrawable(R.drawable."some drawable for not clicked row)); 
    } 
} 
0
listview.setOnItemClickListener(new OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> parent, View v, int pos, 
        long id) { 
       Toast.makeText(v.getContext(), exm.get(pos).getDefinition(), 
         Toast.LENGTH_SHORT).show(); 


      } 
     }); 
0

を実際にちょうど親に以下を追加し、フォーカスを取得してから、子供の景色を防ぐために、そのために意味のパラメータがありますレイアウト:

android:descendantFocusability="blocksDescendants" 

ドキュメントには、

ViewGroupは子孫がフォーカスを受け取らないようにします。

0

あなたは

  1. スクロールビューが存在する場合は、リストビュー

のためのあなたの行項目のレイアウトにスクロールビューを使用していないリストビュー

  • でスクロールビューを使用していないことを確認してください上記のいずれかの場所で削除します。

  • 0

    listItemButton.setFocusable(false); listItemButton.setFocusableInTouchMode(false);

    アダプターに上記を設定してください。それが機能しないxml

    関連する問題