必须是以下之一:View.VISIBLE、View.INVISIBLE、View.GONE [重复]
Posted
技术标签:
【中文标题】必须是以下之一:View.VISIBLE、View.INVISIBLE、View.GONE [重复]【英文标题】:Must be one of: View.VISIBLE, View.INVISIBLE, View.GONE [duplicate] 【发布时间】:2015-08-21 02:21:50 【问题描述】:我正在保存和恢复我的一项活动中的视图可见性。我通过调用mButton.getVisibility()
并将其保存在Bundle
中来做到这一点。在我获得 int 值的 onRestore 中,它显示错误。
Must be one of: View.VISIBLE, View.INVISIBLE, View.GONE less... (Ctrl+F1)
Reports two types of problems:
- Supplying the wrong type of resource identifier. For example, when calling Resources.getString(int id), you should be passing R.string.something, not R.drawable.something.
- Passing the wrong constant to a method which expects one of a specific set of constants. For example, when calling View#setLayoutDirection, the parameter must be android.view.View.LAYOUT_DIRECTION_LTR or android.view.View.LAYOUT_DIRECTION_RTL.
代码编译运行没有错误
代码
@Override
public void onSaveInstanceState(@NonNull Bundle savedInstanceState)
savedInstanceState.putInt("BUTTON_VISIBILITY", mButton.getVisibility());
super.onSaveInstanceState(savedInstanceState);
public void onRestoreInstanceState(@NonNull Bundle savedInstanceState)
super.onRestoreInstanceState(savedInstanceState);
mButton.setVisibility(savedInstanceState.getInt("BUTTON_VISIBILITY"));
// savedInstanceState.getInt("BUTTON_VISIBILITY") is underlined red
【问题讨论】:
可以加@SuppressWarnings("ResourceType")
通常警告带有黄色下划线,这是红色下划线引起我的一些担忧
@SuppressWarnings("ResourceType") 有效!谢谢
【参考方案1】:
正如我刚刚评论的,您可以添加@SuppressWarnings("ResourceType")
。希望这会有所帮助!
Alt-Enter
【讨论】:
是的,这完成了工作,谢谢 我的经验是:当AS出现警告时,按Alt-Enter寻找解决办法:) 是的,我为 Alt-Enter 添加图片:) 啊,这很有用,谢谢 您应该选择 "Suppress for statement",它会在该语句上方产生 "//noinspection ..." 注释。以上是关于必须是以下之一:View.VISIBLE、View.INVISIBLE、View.GONE [重复]的主要内容,如果未能解决你的问题,请参考以下文章
setvisibility(view.visible)在setvisibility(view.gone)之后不起作用
如何在 ANDROID 中为 View.GONE 到 View.VISIBLE 的视图设置动画
如何从 View.gone 恢复视图。在xml中使用'android:visibility =“gone”'后setVisibility(View.VISIBLE)不起作用