android中具有特定点击事件的随机图像 final ImageView ImageView_array[]={Tapimage1、Tapimage2、Tapimage3、Tapimage4、Tapimage5、Tapimage6、Tapimage7、Tapimage8、Tapimage9、Tapimage10、Tapimage11、Tapimage12、Tapimage13、Tapimage14、Tapimage15}; 最终int[]图像={R.drawable.circle_01,R.drawable.square_01,R.drawable.triangle_01, R.drawable.circle_02,R.drawable.square_02,R.drawable.triangle_02, R.drawable.circle\u 03,R.drawable.square\u 03,R.drawable.triangle\u 03, R.drawable.circle_04,R.drawable.square_04,R.drawable.triangle_04, R.drawable.circle_05,R.drawable.square_05,R.drawable.triangle_05}; final int[]image_id={R.id.tap_cir_image1,R.id.tap_cir_image2,R.id.tap_cir_image3, R.id.tap_cir_图像4,R.id.tap_cir_图像5,R.id.tap_cir_图像6, R.id.tap_cir_图像7,R.id.tap_cir_图像8,R.id.tap_cir_图像9, R.id.tap_cir_图像10,R.id.tap_cir_图像11,R.id.tap_cir_图像12, R.id.tap_cir_image13,R.id.tap_cir_image14,R.id.tap_cir_image15}; final int[]圆圈_数组={1,0,0,1,0,0,1,0,0,1,0,0,0,1,0,0}; int[]image_index={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14}; List dataList=new ArrayList(); 对于(int i=0;i

android中具有特定点击事件的随机图像 final ImageView ImageView_array[]={Tapimage1、Tapimage2、Tapimage3、Tapimage4、Tapimage5、Tapimage6、Tapimage7、Tapimage8、Tapimage9、Tapimage10、Tapimage11、Tapimage12、Tapimage13、Tapimage14、Tapimage15}; 最终int[]图像={R.drawable.circle_01,R.drawable.square_01,R.drawable.triangle_01, R.drawable.circle_02,R.drawable.square_02,R.drawable.triangle_02, R.drawable.circle\u 03,R.drawable.square\u 03,R.drawable.triangle\u 03, R.drawable.circle_04,R.drawable.square_04,R.drawable.triangle_04, R.drawable.circle_05,R.drawable.square_05,R.drawable.triangle_05}; final int[]image_id={R.id.tap_cir_image1,R.id.tap_cir_image2,R.id.tap_cir_image3, R.id.tap_cir_图像4,R.id.tap_cir_图像5,R.id.tap_cir_图像6, R.id.tap_cir_图像7,R.id.tap_cir_图像8,R.id.tap_cir_图像9, R.id.tap_cir_图像10,R.id.tap_cir_图像11,R.id.tap_cir_图像12, R.id.tap_cir_image13,R.id.tap_cir_image14,R.id.tap_cir_image15}; final int[]圆圈_数组={1,0,0,1,0,0,1,0,0,1,0,0,0,1,0,0}; int[]image_index={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14}; List dataList=new ArrayList(); 对于(int i=0;i,android,Android,我有15个图像和3个线性布局。我想在每个布局中安排5个图像,每次用户访问该页面时随机生成 如何为随机图像和相应的点击事件设置ID 例如,我有15张图片 --->5(圆圈) --->5(三角形) --->5(正方形) 所有这些都随机排列在3个布局中,我只想单击圆圈 [我想要的图片] 这有点模糊,但如果我猜对了你的目标,你应该分配你的视图ID,而不是随机化它们的可绘制内容 final ImageView imageview_array[] = {Tapimage1, Tapimage2, Tapim

我有15个图像和3个线性布局。我想在每个布局中安排5个图像,每次用户访问该页面时随机生成

如何为随机图像和相应的点击事件设置ID

例如,我有15张图片
--->5(圆圈)
--->5(三角形)
--->5(正方形)
所有这些都随机排列在3个布局中,我只想单击圆圈

[我想要的图片]


这有点模糊,但如果我猜对了你的目标,你应该分配你的视图ID,而不是随机化它们的可绘制内容

final ImageView imageview_array[] = {Tapimage1, Tapimage2, Tapimage3, Tapimage4, Tapimage5, Tapimage6, Tapimage7, Tapimage8, Tapimage9, Tapimage10, Tapimage11, Tapimage12, Tapimage13, Tapimage14, Tapimage15};


    final int[] images = {R.drawable.circle_01, R.drawable.square_01, R.drawable.triangle_01,
            R.drawable.circle_02, R.drawable.square_02, R.drawable.triangle_02,
            R.drawable.circle_03, R.drawable.square_03, R.drawable.triangle_03,
            R.drawable.circle_04, R.drawable.square_04, R.drawable.triangle_04,
            R.drawable.circle_05, R.drawable.square_05, R.drawable.triangle_05};
    final int[] image_id = {R.id.tap_cir_image1, R.id.tap_cir_image2, R.id.tap_cir_image3,
            R.id.tap_cir_image4, R.id.tap_cir_image5, R.id.tap_cir_image6,
            R.id.tap_cir_image7, R.id.tap_cir_image8, R.id.tap_cir_image9,
            R.id.tap_cir_image10, R.id.tap_cir_image11, R.id.tap_cir_image12,
            R.id.tap_cir_image13, R.id.tap_cir_image14, R.id.tap_cir_image15};



    final int[] circles_array = {1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0};

    int[] image_index = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14};

    List<Integer> dataList = new ArrayList<Integer>();
    for (int i = 0; i < 15; i++) {
        dataList.add(i);
    }
    Collections.shuffle(dataList);
    shuffle_array = new int[dataList.size()];
    for (int i = 0; i < dataList.size(); i++) {
        shuffle_array[i] = dataList.get(i);
    }

    for (int i = 0; i < shuffle_array.length; i++) {
        System.out.println(shuffle_array[i]);
    }
    Log.e(" shuffle array", "arr: " + Arrays.toString(shuffle_array));





    LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(height, width);
    layoutParams.rightMargin = rightMargin;
    layoutParams.gravity = Gravity.CENTER;

    for (i = 0; i < shuffle_array.length; i++) {
        temp = shuffle_array[i];
        imageview_array[i].setBackgroundResource(images[temp]);
        imageview_array[i].setId(i);

        Log.e("temp", "" + temp);

        imageview_array[i].setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                if(circles_array[temp] == 1 )
                {
                    imageview_array[temp].setVisibility(View.GONE);
                    count++;
                }



}

这是一个很糟糕的例子,但希望它能有所帮助。当你实际上并不关心视图时,将视图本身随机化是没有实际意义的。

代码在哪里???
//pseudocode because I have no idea how you want to do this
class MyPacket{
//local class,lazy way of packaging all your views with an appropriate listener
int id;//drawable id

//pass in all your ids of a certain type with whatever listener type you want
View.onClickListener listener

}
//change your int[] to some MyPacket collection, then for each of your views

ImageView somename= (ImageView) findViewbyId(someID);
somename.setDrawable(mPacketCollection.getFirst().id));
somename.setOnClickListener(mPacketCollection.getFirst().listener);
mPacketCollection.remove(0);
//repeat for each view