android - 更改 android studio 中的 textview 可见性
问题描述
我想单击以使用 android studio 隐藏或取消隐藏文本视图。如果它是可见的,则单击一下将使其不可见。如果它是不可见的,则单击一下即可使其可见。
目前,只有一半的功能在工作。虽然我可以单击使 textview 不可见,但再次单击它不会使其再次可见。
这是我的代码
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
toDoList = new ArrayList<>();
arrayAdapter = new ArrayAdapter<>(this, R.layout.list_view_layout, toDoList);
listView = findViewById(R.id.id_list_view);
listView.setAdapter(arrayAdapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long id){
TextView textView = (TextView) view;
if (textView.getVisibility() == View.VISIBLE) {
textView.setVisibility(View.INVISIBLE);
}
else {
textView.setVisibility(View.VISIBLE);
}
}
});
在尝试调试它时,我发现 else 语句从未运行过,即使 if 条件返回 false 也是如此。我错过了什么吗?
解决方案
从您的 onItemClick 获取 extViw 是错误的。
TextView textView = (TextView) view;
它应该是
TextView textView = (TextView) view.findViewById(R.id.yourTextView);
如果你想要不可见的视图和可点击的,使用 setAlpha(0); 和 setAlpha(1);
推荐阅读
- php - 通过忽略不同的括号来匹配模式
- pytorch - Fastai 中的 Logloss 指标
- spring-integration - Spring Integration 写入 IBM MQ
- jquery - 使用 jquery 获取复选框值
- javascript - 基本未捕获的语法错误:无效或意外的令牌
- windows - 我的新电脑有 HP BIOS 更新问题
- android - 如何在 Android 中将双精度转换为货币格式
- autohotkey - AutoHotKey - 打开一个网站而不给它焦点
- c - 输出有不需要的回车和换行。如何在下面的程序中删除回车“\ r”?
- asp.net-mvc - 没有 API 密钥的 Google Maps API (ASP.NET MVC)