您的位置:首页 > 移动开发 > Android开发

Android GridView的简单使用

2015-10-08 08:37 525 查看
MainActivity的具体代码如下:

public class MainActivity extends Activity {

private GridView mGridView;
private ArrayList<Map<String, Object>> list;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

mGridView = (GridView) findViewById(R.id.activity_main_gridview);
int [] image={R.drawable.d,R.drawable.d,R.drawable.d,R.drawable.d,R.drawable.d,R.drawable.d,R.drawable.d,R.drawable.d,R.drawable.d,R.drawable.d,R.drawable.d,R.drawable.d};
String [] text={"GD","GD","GD","GD","GD","GD","GD","GD","GD","GD","GD","GD"};
list = new ArrayList<Map<String,Object>>();
for (int i = 0; i < text.length; i++) {
Map<String, Object> map = new HashMap<String,Object>();
map.put("image", image[i]);
map.put("text",text[i]);
list.add(map);
}

MyGridViewAdapter adapter = new MyGridViewAdapter(MainActivity.this, list);
mGridView.setAdapter(adapter);
}
}
把GridView的数据放到MyGridViewAdapter进行设置,具体代码如下:

public class MyGridViewAdapter extends BaseAdapter{

private Context context;
private ArrayList<Map<String, Object>> map;
private LayoutInflater inflater;

public MyGridViewAdapter(Context context, ArrayList<Map<String, Object>> map) {
this.context = context;
this.map = map;
inflater = LayoutInflater.from(context);
}

@Override
public int getCount() {
return map.size();
}

@Override
public Object getItem(int position) {
return map.get(position);
}

@Override
public long getItemId(int position) {
return position;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
MyViewHodler hodler = null;
if(convertView==null){
hodler=new MyViewHodler();
convertView=inflater.inflate(R.layout.gridview_item, null);
hodler.text=(TextView) convertView.findViewById(R.id.gridview_item_tv);
hodler.image=(ImageView) convertView.findViewById(R.id.gridview_item_iv);
convertView.setTag(hodler);
}else{
hodler=(MyViewHodler) convertView.getTag();
}
hodler.text.setText((String)map.get(position).get("text"));
hodler.image.setImageResource((Integer)map.get(position).get("image"));
return convertView;
}

class MyViewHodler{
TextView text;
ImageView image;
}
}


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"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >

<GridView
android:id="@+id/activity_main_gridview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:numColumns="3"
android:horizontalSpacing="5dp"
android:verticalSpacing="10dp"
/>

</RelativeLayout>
gridview_item.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<TextView
android:id="@+id/gridview_item_tv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
<ImageView
android:id="@+id/gridview_item_iv"
android:layout_width="match_parent"
android:layout_height="150dp"
android:scaleType="centerCrop"
/>

</LinearLayout>


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: