首页 > 解决方案 > 更改 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 也是如此。我错过了什么吗?

标签: androidandroid-studioif-statementvisibilityonitemclicklistener

解决方案


从您的 onItemClick 获取 extViw 是错误的。

 TextView textView = (TextView) view;

它应该是

TextView textView = (TextView) view.findViewById(R.id.yourTextView);

如果你想要不可见的视图和可点击的,使用 setAlpha(0); 和 setAlpha(1);


推荐阅读