随机ImageView - 可以检测哪个显示?

时间:2016-12-22 22:59:13

标签: android android-fragments

我已经进入了我的剧本:

   final String str = "img_" + rnd.nextInt(9);
    img.setImageDrawable
            (
                    getResources().getDrawable(getResourceID(str, "drawable",
                            getActivity().getApplicationContext())
            ));
    return view;
    // ^^^ move it here

}

final ImageView img = (ImageView) view.findViewById(R.id.imgRandom);

现在,我想做这样的事情,来自这个随机函数的每个图像都打开onClick上的其他活动。有可能做到这一点:

如果显示img_3 ,请转到点击上的NumberOne.java活动吗?

1 个答案:

答案 0 :(得分:1)

您可以存储随机选择的任何图像,并从那里开始。

编辑:

您可以设置非最终静态变量来保存所选照片的​​ID。

例如:public static Integer CURRENT_IMAGE = -1;

当您随机生成一个数字时,请务必将其写入CURRENT_IMAGE

CURRENT_IMAGE = rnd.nextInt(9);
final String str = "img_" + CURRENT_IMAGE;
img.setImageDrawable(
                getResources().getDrawable(getResourceID(str, "drawable",
                        getActivity().getApplicationContext())
        ));
return view;
// ^^^ move it here

之后,您可以编辑onclick方法进行检查:

if(CURRENT_IMAGE == 3){
    //Start activity NumberOne.java...
}else if(CURRENT_IMAGE == 4){
    //Start another activity...
}else{
    // Do whatever
}

更新2:

img.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        if(CURRENT_IMAGE == 3){
            //Start activity NumberOne.java...
        }else if(CURRENT_IMAGE == 4){
            //Start another activity...
        }else{
            // Do whatever
        }
    }
});