【问题标题】:Android, ListView items become unclickableAndroid,ListView项目变得不可点击
【发布时间】:2015-10-05 20:27:04
【问题描述】:

我将 ListView 连接到 Detail Activity,以便用户可以单击列表项,转到更详细的视图,然后返回。一切正常,只是有时我根本无法再单击列表项。如果我单击一个隐藏所有其他元素的按钮(setVisibility(View.GONE)),模拟器将无法识别对列表视图的单击。在列表视图再次处理交互之前,我必须单击其他元素。在堆栈中,如果这一行在底部,则列表视图不可点击:

E/Surface: getSlotFromBufferLocked: unknown buffer: 0xa2383490

我以前见过它,但直到现在我才注意到它。有人可以解释这意味着什么,如果它可能是我的问题的迹象,或者它是否可以忽略不计。

作为参考,这是导致问题的可见性更改器:

//      Onclick method for Notes Collapse button
    final Button buttonN = (Button) rootView.findViewById(R.id.notesSectionHeading);
    buttonN.setTag(0);
    final LinearLayout inputButtons = (LinearLayout) rootView.findViewById(R.id.input_control_block);
    final LinearLayout inputBlock = (LinearLayout) rootView.findViewById(R.id.edit_text_block);
    buttonN.setOnClickListener(new View.OnClickListener() {
                                   public void onClick(View v) {

           final int status = (Integer) v.getTag();
           if (status == 1) {
               v.setTag(0); //pause
               inputBlock.setVisibility(View.VISIBLE);
               inputButtons.setVisibility(View.VISIBLE);
           } else {
               v.setTag(1); //pause
               inputBlock.setVisibility(View.GONE);
               inputButtons.setVisibility(View.GONE);
           }

           Toast.makeText(getActivity().getBaseContext(), "View visibility changed", Toast.LENGTH_SHORT).show();
                                   }
        }

    );

【问题讨论】:

    标签: android list listview click


    【解决方案1】:

    尝试像这样设置您的按钮(或您想要处理单击列表项内的任何其他视图):

    android:focusable="false"
    android:focusableInTouchMode="false"
    

    它应该可以工作

    【讨论】:

    • 不幸的是,不幸的是,我也尝试给另一个元素焦点,但无论您单击多少次,它都不会注册,直到其他元素被触摸。如果你只是滚动列表,它会起作用,但除非你这样做。
    猜你喜欢
    • 2012-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多