【发布时间】: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