Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在android gridview中切换图标集_Android_Gridview_Notifydatasetchanged - Fatal编程技术网

在android gridview中切换图标集

在android gridview中切换图标集,android,gridview,notifydatasetchanged,Android,Gridview,Notifydatasetchanged,我是android开发新手。在我的android活动中我有一个GridView和一个按钮。GridView适配器类正在GridView中显示一组图标。我想要的是,如果单击活动中的按钮,则网格视图中的图标集应替换为另一组图标。活动中的每个按钮单击都应切换网格视图中的两组图标。 那么,如何使用notifyDatasetChanged()实现这一点呢?请帮忙 GridView适配器class: public class CustomAdapter extends BaseAdapter{

我是android开发新手。在我的android
活动中
我有一个
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()时,我会替换两组图标吗?我相信这可能会有帮助。。