美文网首页
安卓问题笔记(持续中)

安卓问题笔记(持续中)

作者: 平凡的鱼仔 | 来源:发表于2019-11-28 17:57 被阅读0次

1.checkbox的setClickable(false)无效
页面第一次加载时,无效,然后点击一次checkbox就生效了。

 checkBox.setClickable(false);
 checkBox.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
            }
        });

出现这个状况原因就是因为把setClickable()放到了setOnClickListener()前面。为什么会这样呢,理由如下:

    public void setOnClickListener(@Nullable OnClickListener l) {
        if (!isClickable()) {
            setClickable(true);
        }
        getListenerInfo().mOnClickListener = l;
    }

我们有两种方法解决这个问题:(1)代码调换顺序(2)使用setEnabled()替代。强烈推荐使用第二种方法,因为这个方法设置为false的时候还可以将控件变成灰色,更直观。

//方法1:
 checkBox.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
            }
        });
 checkBox.setClickable(false);

//方法2:
checkBox.setEnabled(false);
 checkBox.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
            }
        });
//checkBox.setEnabled(false);   //放在这里也可以,和setOnClickListener()没有前后顺序的要求

2.recyclerview滚动后一个item占满整个父布局,原因是item的高度设置成了matchparrent
错误样例:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:layout_width="match_parent"
    android:layout_height="wrap_content"
    xmlns:android="http://schemas.android.com/apk/res/android">

    <CheckBox
        android:id="@+id/filter_checkbox"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        style="@style/checkbox_style"
        android:checked="false"/>

</LinearLayout>

正确样例:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:layout_width="match_parent"
    android:layout_height="wrap_content"
    xmlns:android="http://schemas.android.com/apk/res/android">

    <CheckBox
        android:id="@+id/filter_checkbox"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        style="@style/checkbox_style"
        android:checked="false"/>

</LinearLayout>

相关文章

网友评论

      本文标题:安卓问题笔记(持续中)

      本文链接:https://www.haomeiwen.com/subject/uqpbwctx.html