更改 android studio 中的 textview 可见性
Posted
技术标签:
【中文标题】更改 android studio 中的 textview 可见性【英文标题】:Changing textview visibility in android studio 【发布时间】:2020-09-11 18:40:48 【问题描述】:我想单击以使用 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。我错过了什么吗?
【问题讨论】:
你让它不可见......那么你在哪个视图上点击?该视图已经不可见,因此它没有检测到任何触摸,即触摸不适用于不可见视图 我同意@PraveenSP 它已经不可见了,所以从技术上讲,它在不可见时无法检测到任何手势,除非你用另一个也检测到手势但不会隐藏的视图包装它。 【参考方案1】:从你的 onItemClick 获取 extViw 是错误的。
TextView textView = (TextView) view;
应该是
TextView textView = (TextView) view.findViewById(R.id.yourTextView);
如果你想要不可见的视图和可点击的,使用 setAlpha(0);和 setAlpha(1);
【讨论】:
不,不可见的视图也可以点击,你的问题是视图的点击事件被其他视图拦截了。但是答案很好。以上是关于更改 android studio 中的 textview 可见性的主要内容,如果未能解决你的问题,请参考以下文章
如何安全地更改 Android Studio 中的项目名称?
Android Studio 更改一个 xml 文件中的 ID 会更改另一个文件中的 ID
更改 android studio 中的 textview 可见性