1

多くScrollViewの要素を含むlistViewのヘッダーがあります。そして2つのボタンが付いているフッター。そして、ヘッダー要素を埋めて、フッターのボタンを押すと、起動しません。そして、ヘッダーのアイテムをクリックすると

    btnSubmitOrder.setOnClickListener(new View.OnClickListener() {

       public void onClick(View view) {
           header.clearFocus();
           btnSubmitOrder.setFocusable(true);
           Log.i("new order button","fires");

    }
 });

ログアイテムのテキストは、プッシュしたのと同時にLogCatに表示されます。では、なぜこれが起こるのでしょうか?フッターのボタンをすぐに反応させるにはどうすればよいですか?

4

3 に答える 3

2

を使用して問題を解決しました

btnSubmitOrder.setOnTouchListener(new OnTouchListener() {

            public boolean onTouch(View v, MotionEvent event) {
                 if (event.getAction() == MotionEvent.ACTION_DOWN)
                        {
                     header.clearFocus();
                        }
                   }
         });
于 2012-10-22T08:57:00.987 に答える
1

android:onClick="onYourClick" と android:clickable="true" をフッター xml に追加します。

あなたの ListActivity add 関数で:

 public void onYourClick(View v){
     header.clearFocus();
     btnSubmitOrder.setFocusable(true);
     Log.i("new order button","fires");
 }
于 2012-10-18T09:56:45.767 に答える
0

リストビューとフッタービューがフォーカスを争っている可能性があります:

 mylistView.addFooterView(footerView, null, false);

false は、フッターが選択できないことを示します。これを自分でテストしたところ、フッター内のボタンがタッチに反応するようになりました。これが受け入れられる答えであることを願っています。

それ以外の場合は、リストビューとボタンがフォーカスを争っており、リストビューが勝っているため、前述のように ontouchlistener を使用する必要があります。

于 2013-02-26T14:18:27.163 に答える