在 android studio 中更改文本视图可见性
Changing textview visibility in android studio
我想使用 android studio 单击以隐藏或取消隐藏文本视图。如果它是可见的,单击一下就会使其不可见。如果不可见,一键显示。
目前只有一半的功能可以使用。虽然我可以单击使文本视图不可见,但再次单击它不会使其再次可见。
这是我的代码
@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 条件 returns 为假。我错过了什么吗?
从您的 onItemClick 获取 extViw 是错误的。
TextView textView = (TextView) view;
应该是
TextView textView = (TextView) view.findViewById(R.id.yourTextView);
如果你想要不可见的视图和可点击的,使用setAlpha(0);和 setAlpha(1);
我想使用 android studio 单击以隐藏或取消隐藏文本视图。如果它是可见的,单击一下就会使其不可见。如果不可见,一键显示。
目前只有一半的功能可以使用。虽然我可以单击使文本视图不可见,但再次单击它不会使其再次可见。
这是我的代码
@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 条件 returns 为假。我错过了什么吗?
从您的 onItemClick 获取 extViw 是错误的。
TextView textView = (TextView) view;
应该是
TextView textView = (TextView) view.findViewById(R.id.yourTextView);
如果你想要不可见的视图和可点击的,使用setAlpha(0);和 setAlpha(1);