微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在Android中控制可见性,这是​​错误吗?

如何解决如何在Android中控制可见性,这是​​错误吗?

FeedGroupID != 10设置为holder.group_check.setVisibility(View.GONE)时,它仍然显示

<TextView
    android:id="@+id/group_check"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="10dp"
    android:layout_marginTop="15dp"
    android:text=" > "
    android:textSize="14dp"
    android:textStyle="bold" />

<TextView
    android:id="@+id/tv_uploader_group"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="10dp"
    android:layout_marginTop="15dp"
    android:text="mumbiker.nikkhil"
    android:textColor="@android:color/black"
    android:textSize="16dp"
    android:textStyle="bold"
    android:visibility="invisible"/>

适配器代码

if (newFeedModel.getFeedGroupID() != "10") {
    holder.group_check.setVisibility(View.VISIBLE);
    holder.tv_uploader_group.setText(newFeedModel.getFeedGroupName());
} else {
    holder.group_check.setVisibility(View.GONE);
    holder.tv_uploader_group.setVisibility(View.GONE);
}

我收到此错误

Attempt to invoke virtual method 'void
android.widget.TextView.setVisibility(int)' on a null object reference

为什么

error -> holder.group_check.setVisibility(View.VISIBLE);

解决方法

如果您初始化了在所有者中的视图,并且一切正常运行而没有崩溃,那么问题就出在if语句上。

如果 newFeedModel.getFeedGroupID()返回字符串,则使用 equals()方法进行比较,如下所示:

if(newFeedModel.getFeedGroupID().equals("10")) { 
    //perform operations
} else {}
,

如果您在Fragment中使用,则必须使用此方法[替代乐趣(onViewCreated)]

,
  1. 您导入的文件与xml文件相同吗?像import ...my_layout.viewmy_layout.xml
  2. 您在R.layout.my_layout中的布局ID onCreateViewHoldermy_layout.xml相同吗?

注意: my_layout例如。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。