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");

    }
 });

Log 项目的文本在我推送它的同时显示在 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 添加功能:

 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 回答