Android---GridView使用
来源:互联网 发布:网络医院app 编辑:程序博客网 时间:2024/05/16 04:41
1.MainActiivty.java
public class MainActivity extends Activity { private GridView mGridView; private MyGridViewAdapter mAdapter; private ArrayList<String> strDrinks; private ArrayList<Integer> imgId; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initData(); initViews(); } private void initData() { imgId = new ArrayList<>(); imgId.add(R.drawable.ic_launcher); imgId.add(R.drawable.ic_launcher); imgId.add(R.drawable.ic_launcher); imgId.add(R.drawable.ic_launcher); imgId.add(R.drawable.ic_launcher); imgId.add(R.drawable.ic_launcher); imgId.add(R.drawable.ic_launcher); imgId.add(R.drawable.ic_launcher); imgId.add(R.drawable.ic_launcher); imgId.add(R.drawable.ic_launcher); imgId.add(R.drawable.ic_launcher); imgId.add(R.drawable.ic_launcher); strDrinks = new ArrayList<>(); strDrinks.add("卡布奇若"); strDrinks.add("咖啡奶茶"); strDrinks.add("黑乌龙"); strDrinks.add("红茶"); strDrinks.add("拿铁咖啡"); strDrinks.add("奶茶"); strDrinks.add("卡布奇若"); strDrinks.add("咖啡奶茶"); strDrinks.add("黑乌龙"); strDrinks.add("红茶"); strDrinks.add("拿铁咖啡"); strDrinks.add("奶茶"); } private void initViews() { mGridView = (GridView) findViewById(R.id.gridview); mAdapter = new MyGridViewAdapter(this, strDrinks, imgId); mGridView.setAdapter(mAdapter); mGridView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { Toast.makeText(MainActivity.this, strDrinks.get(arg2), Toast.LENGTH_SHORT).show(); } }); }}
2.适配器MyGridViewAdapter.java
public class MyGridViewAdapter extends BaseAdapter { private Context mContext; private ArrayList<Integer> imgId; private ArrayList<String> strDrinks; public MyGridViewAdapter(Context pContext, ArrayList<String> strDrinks, ArrayList<Integer> imgId) { this.mContext = pContext; this.imgId = imgId; this.strDrinks = strDrinks; } @Override public int getCount() { return strDrinks.size(); } @Override public Object getItem(int position) { return strDrinks.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(final int position, View convertView, ViewGroup parent) { ViewHolder viewHolder = null; if (null == convertView) { viewHolder = new ViewHolder(); LayoutInflater mInflater = LayoutInflater.from(mContext); convertView = mInflater.inflate(R.layout.gridview_item, null); viewHolder.grid_img_item = (ImageView) convertView .findViewById(R.id.grid_img_item); viewHolder.grid_tv_item = (TextView) convertView .findViewById(R.id.grid_tv_item); convertView.setTag(viewHolder); } else { viewHolder = (ViewHolder) convertView.getTag(); } viewHolder.grid_tv_item.setText(strDrinks.get(position)); viewHolder.grid_img_item.setImageResource(imgId.get(position)); return convertView; } private static class ViewHolder { ImageView grid_img_item; TextView grid_tv_item; }}
3.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:padding="10dp" tools:context="com.example.gridviewtest.MainActivity" > <GridView android:id="@+id/gridview" android:layout_width="match_parent" android:layout_height="wrap_content" android:horizontalSpacing="10dp" android:verticalSpacing="10dp" android:numColumns="auto_fit" /></RelativeLayout>
4.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:gravity="center" android:padding="10dp" android:background="@drawable/border" android:orientation="vertical" > <ImageView android:id="@+id/grid_img_item" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="5dp" /> <TextView android:id="@+id/grid_tv_item" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="卡布奇若" android:textSize="16sp" android:textColor="#000" /></LinearLayout>
效果:
源码下载
0 0
- Android GridView的使用
- Android的GridView使用
- Android GridView使用
- Android GridView的使用
- Android中GridView使用
- Android GridView的使用
- android GridView的使用
- Android GridView的使用
- Android GridView的使用
- Android GridView 的使用
- Android GridView的使用
- Android GridView的使用
- Android GridView的使用
- Android Gridview使用
- android GridView的使用
- Android 之GridView使用
- Android中GridView使用
- android GridView使用详解
- C++ 虚函数表解析
- 【c++】求特殊方程的正整数解
- ListView上拉刷新下拉加载
- 【VB】VB操作Excel相关处理
- 把排序数组转换为高度最小的二叉搜索树
- Android---GridView使用
- STL 单纯数据处理函数
- AsyncTask不会执行doInBackground 的原因
- Oracle分页实现
- Android+FFmpeg+ANativeWindow视频解码播放
- 电路常识性概念(1)-输入、输出阻抗
- 学习日记
- HDOJ 1004 Let the Balloon Rise
- Android中View的绘制原理之measure