Android GridView的简单使用
2015-10-08 08:37
525 查看
MainActivity的具体代码如下:
activity_main.xml
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>
相关文章推荐
- Android开发总结笔记 Spannable(文本样式[上]) 1-1-6-2
- Android ExpandableListView 的简单使用
- 【Android-006】【对话框】
- 【Android-005】【ListView】
- 【Android-004】【SQLite数据库】
- 【Android学习目录】
- 【Android-003】【Android测试】
- Android Hook神器:XPosed入门与登陆劫持演示
- Android HOOK工具Cydia Substrate使用详解
- Android Hook框架Xposed详解
- Android Hook 框架 Cydia_substrate 详解
- Android上玩玩Hook:Cydia Substrate实战
- Android:程序锁功能的简单实现
- 开源中国源码学习笔记
- Android Studio中如何引用图片资源
- android中SimpleAdapter
- [Android] 点击listView的item无响应【解决办法】
- Android封装支付宝支付
- android studio导入开源库记录
- android 登陆demo