隐藏/销毁gridview Android

时间:2015-09-12 17:22:36

标签: android gridview

我需要在我的活动中有多个网格视图,用户将通过单击按钮进行调用,是否可以在隐藏后消除网格视图?

这就是我想到的,

1-此处用户点击了button1,因此我将查看gridview1

button1      button2       button3
---------------------------------
|                                | 
|      Gridview1 visible         |
|                                |
|                                |
---------------------------------

2-此处用户点击了button2,因此我将查看gridview2,因此我需要隐藏/销毁Gridview1

button1      button2       button3
---------------------------------
|                                | 
|      Gridview2 visible         |
|                                |
|                                |
---------------------------------

3-最后,button3将隐藏/销毁所有网格视图

1 个答案:

答案 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();
     } 
});