如何控制 Android 中的可见性,这是一个错误吗?
How to control visibility in Android, is this an error?
当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);
如果您的 holder 中的视图已初始化并且一切正常而没有崩溃,那么问题出在 if 语句上。
如果 newFeedModel.getFeedGroupID() 返回字符串,则使用 equals() 方法比较它,如下所示:
if(newFeedModel.getFeedGroupID().equals("10")) {
//perform operations
} else {}
如果您在 Fragment 中使用,则必须调用此方法 [override fun (onViewCreated)]
- 您导入的文件是否与xml文件相同?喜欢
import ...my_layout.view
和 my_layout.xml
.
onCreateViewHolder
中的布局 ID R.layout.my_layout
是否与 my_layout.xml
相同?
注: my_layout
仅举个例子。
当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);
如果您的 holder 中的视图已初始化并且一切正常而没有崩溃,那么问题出在 if 语句上。
如果 newFeedModel.getFeedGroupID() 返回字符串,则使用 equals() 方法比较它,如下所示:
if(newFeedModel.getFeedGroupID().equals("10")) {
//perform operations
} else {}
如果您在 Fragment 中使用,则必须调用此方法 [override fun (onViewCreated)]
- 您导入的文件是否与xml文件相同?喜欢
import ...my_layout.view
和my_layout.xml
. onCreateViewHolder
中的布局 IDR.layout.my_layout
是否与my_layout.xml
相同?
注: my_layout
仅举个例子。