2015-09-12 59 views
1

我需要在我的活动中有多个gridviews,用户将通过单击按钮调用,是否有可能在隐藏它后删除gridview?隐藏/目标gridview Android

这是我的想法,

1-这里,用户点击按钮1,所以我会观看gridview1

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

2 - 这里用户点击按钮2所以我会观看gridview2,所以我需要隐藏/破坏Gridview1

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

3-最后BUTTON3将隐藏/销毁所有GridView的

回答

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(); 
    } 
}); 
+0

感谢bigO,所以我在想的是内存消耗,我在想如果我只隐藏可能不高效的视图,对不对? –

+0

但是当你点击,比方说,按钮1,并使gridView1可见,你将需要重新创建gridview1,这是另一个成本 – yrazlik

+0

正确的,那么最好的方法是什么? –