【问题标题】:Recreate a random array to set into Gridview after using OnItemClickListener使用 OnItemClickListener 后重新创建一个随机数组以设置为 Gridview
【发布时间】:2016-06-25 12:34:11
【问题描述】:

我正在尝试使用随机数组制作一个简单的游戏并将其放入 gridview。但是在单击gridview的项目后,我无法生成一个新数组,因为下一个随机数组必须在OnItemClickListener内 - 不能像在OnCreate方法之外那样setAdapter。我需要你们的任何解决方案。这是我的代码:

 for (int j=1;j<25;){
        int random=((int)(Math.random()*25))+1;
        if (!list.contains(random)){
            list.add (random);
            j++;

        }
    }
     list.add(a);

    gridView = (GridView) findViewById(R.id.gridView);
    final ArrayAdapter<Integer> adapter = new ArrayAdapter<Integer>(this,
            android.R.layout.simple_list_item_1,list);

    gridView.setAdapter(adapter);

    gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View v,
                                int position, long id) {
           gridView=(GridView)findViewById(R.id.gridView);
            Integer values=Integer.parseInt(gridView.getItemAtPosition(position).toString());
            y.setText(String.valueOf(value));
            if (a==values){

                for (int j=1;j<25;){
                    int random=((int)(Math.random()*25))+1;
                    if (!list.contains(random)){
                        list.add (random);
                        j++;
                    }
                }
                list.add(a);



                Collections.shuffle(list);
               adapter.notifyDataSetChanged();
                a=a+r.nextInt(11);
                x.setText(String.valueOf(a));
                System.out.println(a);

                Toast.makeText(getApplicationContext(),
                        "OK", Toast.LENGTH_SHORT).show();
            }else{
                Toast.makeText(getApplicationContext(),
                        "Failed", Toast.LENGTH_SHORT).show();
            }

        }
    });

}

【问题讨论】:

    标签: android gridview arraylist random onitemclicklistener


    【解决方案1】:

    为什么不在 Listener 之外创建随机数据并将其保存为最终类字段?然后,您可以在每次单击时从 Listener 内部简单地访问它。

    【讨论】:

      猜你喜欢
      • 2020-10-21
      • 2022-10-23
      • 1970-01-01
      • 2020-01-18
      • 1970-01-01
      • 1970-01-01
      • 2012-03-14
      • 2020-06-27
      • 1970-01-01
      相关资源
      最近更新 更多