您好我想通过点击按钮来显示/隐藏内容。我通过点击按钮隐藏内容时遇到问题。
以下是我隐藏内容的代码
private boolean visible;
protected Button SearchButton;
private void Toggle(){
if(visible=false){
DishButton.setVisibility(View.INVISIBLE);
SpoonButton.setVisibility(View.INVISIBLE);
cupButton.setVisibility(View.INVISIBLE);
FridgeButton.setVisibility(View.INVISIBLE);
}
else {
DishButton.setVisibility(View.VISIBLE);
SpoonButton.setVisibility(View.VISIBLE);
cupButton.setVisibility(View.VISIBLE);
FridgeButton.setVisibility(View.VISIBLE);
visible=true;
}
}
答案 0 :(得分:0)
if(visible=false)
不会起作用!
使用if(visible==false)
。
请注意,您可以使用View.GONE
隐藏内容并释放空白区域。
答案 1 :(得分:0)
从你的评论和问题看来似乎是
您还没有为您的按钮添加任何监听器。
您已撰写=
代替==
。
您有用户View.INVISILE
将永久隐藏不会返回的元素。所以使用View.GONE
在处理可见/不可见的情况下,您有一些逻辑缺陷。
你没有用true初始化可见布尔值,因为当你第一次显示所有按钮时它应该是真的。
所以可能的解决方案是
在onCreate()
方法中添加
visible=true;
SearchButton.setOnclickListener(new OnClickListener()
{
public void onClick(View v)
{
Toggle();
}
});
使Toggle方法看起来像
private void Toggle(){
if(visible==true){
DishButton.setVisibility(View.GONE);
SpoonButton.setVisibility(View.GONE);
cupButton.setVisibility(View.GONE);
FridgeButton.setVisibility(View.GONE);
visible=false;
}
else {
DishButton.setVisibility(View.VISIBLE);
SpoonButton.setVisibility(View.VISIBLE);
cupButton.setVisibility(View.VISIBLE);
FridgeButton.setVisibility(View.VISIBLE);
visible=true;
}
}