gridView を使用して 1 つの Android アプリケーションを作成しようとしています。このアプリケーションでは、GridView に画像をランダムに追加しようとしています。5 つの画像があり、その画像が R.drawable.c0、R.drawable.c1、R.drawable.c2、R.drawable.c3、R.drawable.c4 のようなドローアブルに追加されました。
各グリッドをクリックしている間、各グリッドの画像がランダムに変更されます.グリッドをクリックするたびに画像をランダムに変更するためにコーディングが適切に機能しています.しかし、画像名を取得するには助けが必要です.
public class MainActivity extends Activity {
GridView gridview;
ImageView imageView ;
public static Integer[] mThumbIds = {
R.drawable.c0, R.drawable.c1,
R.drawable.c2, R.drawable.c3,
R.drawable.c4,
R.drawable.c0, R.drawable.c1,
R.drawable.c2, R.drawable.c3,
R.drawable.c4,
R.drawable.c0, R.drawable.c1,
R.drawable.c2, R.drawable.c3,
R.drawable.c4,
R.drawable.c0, R.drawable.c1,
R.drawable.c2, R.drawable.c3,
R.drawable.c4,
R.drawable.c0, R.drawable.c1,
R.drawable.c2, R.drawable.c3,
R.drawable.c4,
R.drawable.c0, R.drawable.c1,
R.drawable.c2, R.drawable.c3,
R.drawable.c4,
R.drawable.c0, R.drawable.c1,
R.drawable.c2, R.drawable.c3,
R.drawable.c4,
R.drawable.c0, R.drawable.c1,
R.drawable.c2, R.drawable.c3,
R.drawable.c4,
R.drawable.c0, R.drawable.c1,
R.drawable.c2, R.drawable.c3,
R.drawable.c4,
R.drawable.c0, R.drawable.c1,
R.drawable.c2, R.drawable.c3,
};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
gridview = (GridView) findViewById(R.id.gridview);
gridview.setAdapter(new ImageAdapter(this));
gridview.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
//gridview.getId();
imageView = (ImageView) v;
Random r=new Random();
int i=r.nextInt(16);
Log.e("i",""+i);
imageView.setImageResource(mThumbIds[i]);
ImageAdapter im = (ImageAdapter)parent.getAdapter();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
public class ImageAdapter extends BaseAdapter {
private Context mContext;
// private GridItem[] items;
public ImageAdapter(Context c) {
mContext = c;
}
public int getCount() {
return mThumbIds.length;
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
// create a new ImageView for each item referenced by the Adapter
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView;
if (convertView == null) { // if it's not recycled, initialize some attributes
imageView = new ImageView(mContext);
imageView.setLayoutParams(new GridView.LayoutParams(40,40 ));
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setPadding(3, 3, 3, 3);
} else {
imageView = (ImageView) convertView;
}
Random r=new Random();
int i=r.nextInt(5);
imageView.setImageResource(mThumbIds[i]);
return imageView;
}
}
}