Android開発学習ノート-GridViewのダイナミック表示
7326 ワード
1、GridItemレイアウトファイルを追加する
2、メインインタフェースにGridViewを追加する
3、カスタムアダプタクラスを追加し、カスタムgriditemレイアウトファイルのコントロールに値を設定する
4、メインインタフェースのGridItemを設定する
5、itemクリックイベントを追加する
6、表示
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical" >
<ImageView
android:id="@+id/iv_image"
android:layout_width="wrap_content"
android:layout_height="60dp"
android:src="@drawable/app" />
<TextView
android:id="@+id/tv_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=" " />
</LinearLayout>
2、メインインタフェースにGridViewを追加する
<GridView
android:id="@+id/grid_main"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:numColumns="3"
>
</GridView>
3、カスタムアダプタクラスを追加し、カスタムgriditemレイアウトファイルのコントロールに値を設定する
protected class MyGridAdapter extends BaseAdapter {
@Override
public int getCount() {
// TODO Auto-generated method stub
return titles.length;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
View view = View.inflate(MainActivity.this, R.layout.list_item_main, null);
TextView title = (TextView) view.findViewById(R.id.tv_title);
title.setText(titles[position]);
return view;
}
4、メインインタフェースのGridItemを設定する
private GridView grid_main;
private MyGridAdapter adapter;
private static String []titles = {" 1"," 2"," 3"," 4"," 5"," 6"," 7"," 8"," 9"};
....
grid_main = (GridView) findViewById(R.id.grid_main);
adapter = new MyGridAdapter();
grid_main.setAdapter(adapter);
5、itemクリックイベントを追加する
grid_main.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
ConsoleItemClick(position);
}
});
6、表示