10

私の問題は ListView から来ています。ボタンがなければ、ListView の.setOnItemClickListenerがうまく機能します。(アクティビティを開始)

ボタンを ListView の項目に追加すると、ボタンはクリック可能になりますが、項目はそれ以上クリックできなくなります...

使ってみmyListView.setItemCanFocus(true);たけどうまくいかない…

4

4 に答える 4

37

Button から focusable 属性を削除すると、この問題が解決します。これは、レイアウト xml ファイルまたは Java ソース コードで行うことができます。

もう 1 つのヒントとして、Button の代わりに ImageButton を使用している場合、それを機能させるには Java コードで setFocusable が必要です。これは、ImageButton のコンストラクターが xml ファイルからインフレートした後にこの属性を有効にするためです。

于 2012-10-24T06:26:33.543 に答える
2

その理由は、リストビューのボタンがonItemClickEventを吸収するためです。

よく説明されたチュートリアルはここにあります

于 2012-02-14T09:46:58.347 に答える
2

リストビュー内のクリック可能なボタンに onTouch() コールバックを使用する方がよい場合があります。これで、リスト項目とボタンの両方をクリックできるようになります。いくつかのコードについては、この質問を参照してください(touchDelegate は必要ありません)。

于 2011-06-08T07:28:03.427 に答える
0

これは、ListView の .setOnItemClickListener で使用できます。

view.findViewById(R.id.btn_id).setOnClickListener(new View.OnClickListener(){//your method})
于 2011-06-08T07:02:27.880 に答える