【问题标题】:ListView footer elements are not clickable after the filling the header textboxes填充页眉文本框后,ListView 页脚元素不可点击
【发布时间】:2012-10-08 17:52:11
【问题描述】:

我有 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 中。那么为什么会这样呢?如何让页脚的按钮立即做出反应?

【问题讨论】:

    标签: android listview button header footer


    【解决方案1】:

    我通过使用解决了问题

    btnSubmitOrder.setOnTouchListener(new OnTouchListener() {
    
                public boolean onTouch(View v, MotionEvent event) {
                     if (event.getAction() == MotionEvent.ACTION_DOWN)
                            {
                         header.clearFocus();
                            }
                       }
             });
    

    【讨论】:

      【解决方案2】:

      将 android:onClick="onYourClick" 和 android:clickable="true" 添加到您的页脚 xml

      在你的 ListActivity 添加函数:

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

      【讨论】:

        【解决方案3】:

        可能是列表视图和页脚视图正在争夺焦点试试这个:

         mylistView.addFooterView(footerView, null, false);
        

        其中 false 告诉页脚其不可选择。我自己对此进行了测试,页脚内的按钮现在可以响应触摸。我希望这是一个可以接受的答案。

        否则,您将不得不使用您提到的 ontouchlistener,因为列表视图和按钮正在争夺焦点,而列表视图正在获胜。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-08-13
          • 2021-10-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-08-02
          相关资源
          最近更新 更多