GridView画面如下:
主布局文件(activity_main.xml)如下:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<GridView
android:id="@+id/gridd"
android:layout_width="fill_parent"
android:layout_height="200dp"
android:background="#ffffff"
android:numColumns="5" />
</RelativeLayout>
入口Activity文件:
public class MainActivity extends Activity {
private ArrayList<String> jihee;
private gridadapter ad;
private GridView gd;
private String[] string = { "哈哈", "哈哈", "哈哈", "哈哈", "哈哈", "哈哈", "哈哈", "哈哈" };
private int[] resIds = { R.drawable.meinv, R.drawable.meinv,
R.drawable.meinv, R.drawable.meinv, R.drawable.meinv,
R.drawable.meinv, R.drawable.meinv, R.drawable.meinv };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
initData();
}
private void initView() {
// TODO Auto-generated method stub
gd= (GridView) findViewById(R.id.gridd);
}
private void initData() {
// TODO Auto-generated method stub
gd.setAdapter(new gridadapter(resIds, string, this));
}
}
自定义的Adapter文件如下(gridadapter):
public class gridadapter extends BaseAdapter {
private int[] resIds;
private String[] titles;
private Context context;
private LayoutInflater inflater;
public gridadapter(int[] resIds, String[] titles, Context context) {
super();
this.resIds = resIds;
this.titles = titles;
this.context = context;
this.inflater = LayoutInflater.from(context);
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return titles.length;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return titles[position];
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public View getView(int position, View v, ViewGroup parent) {
// TODO Auto-generated method stub
v = inflater.inflate(R.layout.more_grid_item, null);
ImageView img= (ImageView) v.findViewById(R.id.more_grid_item_img);
TextView tv= (TextView) v.findViewById(R.id.more_grid_item_tv);
img.setImageResource(resIds[position]);
tv.setText(titles[position]);
return v;
}
}
下面分享一个很小很小的Bug,但是确花费我很长时间才将其找出来
FR:徐海涛(Hunk Xu)