我需要在我的活动中有多个网格视图,用户将通过单击按钮进行调用,是否可以在隐藏后消除网格视图?
这就是我想到的,
1-此处用户点击了button1,因此我将查看gridview1
button1 button2 button3
---------------------------------
| |
| Gridview1 visible |
| |
| |
---------------------------------
2-此处用户点击了button2,因此我将查看gridview2,因此我需要隐藏/销毁Gridview1
button1 button2 button3
---------------------------------
| |
| Gridview2 visible |
| |
| |
---------------------------------
3-最后,button3将隐藏/销毁所有网格视图
答案 0 :(得分:1)
我不确定你是什么意思"摧毁" gridview,但是你可以隐藏它们:
button1.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v)
{
gridView1.setVisibility(View.VISIBLE);
gridView2.setVisibility(View.GONE);
}
});
button2.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v)
{
gridView1.setVisibility(View.GONE);
gridView2.setVisibility(View.VISIBLE);
}
});
button3.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v)
{
gridView1.setVisibility(View.GONE);
gridView2.setVisibility(View.GONE);
}
});
或者您可以只保留一个gridview并在每次按下按钮时填充其数据,如下所示:
button1.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v)
{
//Populate your new data to ArrayList etc.
gridview.notifyDataSetChanged();
}
});
button2.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v)
{
//Populate your new data to ArrayList etc.
gridview.notifyDataSetChanged();
}
});
button3.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v)
{
//Empty your data.
gridview.notifyDataSetChanged();
}
});