在android gridview中切换图标集
我是android开发新手。在我的android在android gridview中切换图标集,android,gridview,notifydatasetchanged,Android,Gridview,Notifydatasetchanged,我是android开发新手。在我的android活动中我有一个GridView和一个按钮。GridView适配器类正在GridView中显示一组图标。我想要的是,如果单击活动中的按钮,则网格视图中的图标集应替换为另一组图标。活动中的每个按钮单击都应切换网格视图中的两组图标。 那么,如何使用notifyDatasetChanged()实现这一点呢?请帮忙 GridView适配器class: public class CustomAdapter extends BaseAdapter{
活动中
我有一个GridView
和一个按钮
。GridView适配器
类正在GridView
中显示一组图标。我想要的是,如果单击活动中的按钮
,则网格视图
中的图标集应替换为另一组图标。活动中的每个按钮
单击都应切换网格视图
中的两组图标。
那么,如何使用notifyDatasetChanged()实现这一点呢?请帮忙
GridView适配器
class:
public class CustomAdapter extends BaseAdapter{
boolean imageSetChange = false;
// set 1
public Integer[] mThumbPics = {
R.drawable.pic1, R.drawable.pic2,
R.drawable.pic3, R.drawable.pic4,
R.drawable.pic5, R.drawable.pic6,
R.drawable.pic7, R.drawable.pic8,
R.drawable.pic9, R.drawable.pic10,
R.drawable.pic11, R.drawable.pic12,
R.drawable.pic13, R.drawable.pic14,
R.drawable.pic15, R.drawable.pic16,
R.drawable.pic17, R.drawable.pic18,
R.drawable.pic19, R.drawable.pic20,
R.drawable.pic21
};
//set 2
public Integer[] mThumbEng = {
R.drawable.eng_pic1, R.drawable.eng_pic2,
R.drawable.eng_pic3, R.drawable.eng_pic4,
R.drawable.eng_pic5, R.drawable.eng_pic6,
R.drawable.eng_pic7, R.drawable.eng_pic8,
R.drawable.eng_pic9, R.drawable.eng_pic10,
R.drawable.eng_pic11, R.drawable.eng_pic12,
R.drawable.eng_pic13, R.drawable.eng_pic14,
R.drawable.eng_pic15, R.drawable.eng_pic16,
R.drawable.eng_pic17, R.drawable.eng_pic18,
R.drawable.eng_pic19, R.drawable.eng_pic20,
R.drawable.eng_pic21
};
private Context mContext;
View MyView;
ImageView imageView;
public CustomAdapter(Context c){
mContext = c;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return mThumbEng.length;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return mThumbEng[position];
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
if(imageSetChange==false)
{if(convertView == null){
LayoutInflater li=((Activity) mContext).getLayoutInflater();
MyView=li.inflate(R.layout.menuitem, null);
}
else{
MyView=(View)convertView;
}
imageView =(ImageView)MyView.findViewById(R.id.image);
imageView.setImageResource(mThumbEng[position]);
return MyView;
}
else{
if(convertView == null){
LayoutInflater li=((Activity) mContext).getLayoutInflater();
MyView=li.inflate(R.layout.menuitem, null);
}
else{
MyView=(View)convertView;
}
imageView =(ImageView)MyView.findViewById(R.id.image);
imageView.setImageResource(mThumbUrdu[position]);
return MyView;
}
}
/** public void changeImages(boolean change){
this.imageSetChange = change;
cda.notifyDataSetChanged();
}
**/
}
按钮onclick侦听器:
Button lang_change_btn = (Button) findViewById(R.id.button1);
lang_change_btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
// TODO Auto-generated method stub
//cda.changeImages(true);
}
});
您在哪里调用notifyDataSetchanged()?您应该在进行必要的更改后调用它,在您的情况下,它应该在onClick中,如果您正在进行必要的更改,则显示在调用notifyDataSetchanged()时,我会替换两组图标吗?我相信这可能会有帮助。。