还有一个棘手的问题: 我有两个类,都使用一个列表
public Integer[] mThumbIds = {
R.drawable.ac_pre, R.drawable.acc_pre,
R.drawable.acd_pre, R.drawable.ach_pre,
R.drawable.acs_pre, R.drawable.ad_pre,
R.drawable.ah_pre, R.drawable.as_pre,
R.drawable.dc_pre, R.drawable.dd_pre,
R.drawable.dh_pre, R.drawable.ds_pre,
R.drawable.fc_pre, R.drawable.fd_pre,
R.drawable.fh_pre, R.drawable.fs_pre,
R.drawable.jc_pre, R.drawable.jd_pre,
R.drawable.jh_pre, R.drawable.js_pre,
R.drawable.kc_pre, R.drawable.kd_pre,
R.drawable.kh_pre, R.drawable.ks_pre,
R.drawable.nc_pre, R.drawable.nd_pre,
R.drawable.nh_pre, R.drawable.ns_pre,
R.drawable.qc_pre, R.drawable.qd_pre,
R.drawable.qh_pre, R.drawable.qs_pre,
R.drawable.sec_pre, R.drawable.sed_pre,
R.drawable.seh_pre, R.drawable.ses_pre,
R.drawable.sic_pre, R.drawable.sid_pre,
R.drawable.sih_pre, R.drawable.sis_pre,
R.drawable.vc_pre, R.drawable.vd_pre,
R.drawable.vh_pre, R.drawable.vs_pre,
R.drawable.xc_pre, R.drawable.xd_pre,
R.drawable.xh_pre, R.drawable.xs_pre,
R.drawable.zc_pre, R.drawable.zd_pre,
R.drawable.zh_pre, R.drawable.zs_pre
};
在其中任何一个中都被洗牌,但两个都进入列表(应该洗牌)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_grid);
Collections.shuffle(mTlist);
GridView gridview = (GridView) findViewById(R.id.gridview);
gridview.setAdapter(new ImageAdapter(this));
这是在Activity中,而ImageAdapter是另一个类。 但问题出在这里:只有在列表被填充的类中,它是通过访问,另一个类(列表没有被洗牌)的项目被排序,如mThumbIds(查看顶部)。
任何解决方案?最好使用另一种方法?这是我到目前为止发现的唯一一个,这不是很多代码混乱。 基本上,我需要一个列表中52个随机的10个项目,可以从我的应用程序中访问。
感谢每一个anser!问候你好
答案 0 :(得分:0)
使您在主活动中列为静态公共变量,并从所有其他类访问它
将static public Integer[] mThumbIds;
放在主活动(类)中并从其他类访问它,如果它从任何类中洗牌,其他类将读取新的混洗对象