博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android中用GridView实现九宫格的两种方法(转)
阅读量:4310 次
发布时间:2019-06-06

本文共 3658 字,大约阅读时间需要 12 分钟。

Android中用GridView实现九宫格的两种方法

http://blog.csdn.net/shakespeare001/article/details/7768455

 

1.传统办法:实现一个继承BaseAdapter的 ImageAdapter

package com.test;    import android.app.Activity;  import android.content.Context;  import android.os.Bundle;  import android.view.LayoutInflater;  import android.view.View;  import android.view.ViewGroup;  import android.widget.AdapterView;  import android.widget.BaseAdapter;  import android.widget.GridView;  import android.widget.ImageView;  import android.widget.TextView;  import android.widget.Toast;  import android.widget.AdapterView.OnItemClickListener;    public class GridViewActivity extends Activity {        //存放各功能图片      private Integer[] mFunctionPics = {R.drawable.mobilesecurity,R.drawable.infosecurity,              R.drawable.no_interrupt,R.drawable.bianjiejieting,R.drawable.xiaomishu              ,R.drawable.sms_send_attime,R.drawable.yule,R.drawable.setting};  //存放各功能的名称      private Integer[] mFunctionName = {R.string.phone_tools_box_name1,              R.string.phone_tools_box_name2,R.string.phone_tools_box_name3,              R.string.phone_tools_box_name4,R.string.phone_tools_box_name5,              R.string.phone_tools_box_name6,R.string.phone_tools_box_name7,              R.string.phone_tools_box_name8};      @Override      protected void onCreate(Bundle savedInstanceState) {          super.onCreate(savedInstanceState);          setContentView(R.layout.gridview_main);                    GridView gridView= (GridView) this.findViewById(R.id.gridView);          gridView.setAdapter(new ImageAdapter(this));          gridView.setOnItemClickListener(new OnItemClickListener() {              @Override              public void onItemClick(AdapterView
parent, View view, int position, long id) { Toast.makeText(GridViewActivity.this, "图片ID:" + mFunctionPics[position],1).show(); } }); } public class ImageAdapter extends BaseAdapter { private Context mContext; private LayoutInflater inflater; private class GridHolder { ImageView phone_function_pic; TextView phone_function_name; } public ImageAdapter(Context c){ mContext = c; inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); } @Override public int getCount() { return mFunctionPics.length; } @Override public Object getItem(int position) { return position; } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { GridHolder holder; if(convertView == null) { convertView = inflater.inflate(R.layout.gridview_item, null); holder = new GridHolder(); holder.phone_function_pic = (ImageView) convertView.findViewById(R.id.function_view); holder.phone_function_name = (TextView) convertView.findViewById(R.id.function_name); convertView.setTag(holder); } else { holder = (GridHolder) convertView.getTag(); } holder.phone_function_pic.setImageResource(mFunctionPics[position]); holder.phone_function_name.setText(mFunctionName[position]); return convertView; } } }

 

2.跟ListView类似的数据绑定方式(SimpleAdapter, ArrayList<Map<String, Object>>)

转载于:https://www.cnblogs.com/bluestorm/p/3682785.html

你可能感兴趣的文章
通过脚本自动安装探针
查看>>
ubuntu 11.04 可用源更新
查看>>
微信服务号获取openId流程(订阅号)
查看>>
struts 与 jquery 整合
查看>>
日期处理 给定日期,获取是星期几
查看>>
回车与换行的区别
查看>>
安装hadoop2.6.0伪分布式环境
查看>>
LoadRunner 如何设置关联
查看>>
正则表达式中的?=,?!,?<=,?<!(预查)解释小栗子
查看>>
zookeeper3.4.13几个参数
查看>>
Memcached学习(二)--命令解析
查看>>
Python 集合
查看>>
几本关于PHP安全的书
查看>>
学习记录--HooKSystemCall
查看>>
使用apache设置绑定多个域名或网站
查看>>
bzoj2194: 快速傅立叶之二
查看>>
2018-2019-2 20189206 《密码与安全新技术专题》 第四次作业
查看>>
CentOS7如何设置静态IP及开放DNS端口
查看>>
精密V / I 转换电路
查看>>
求组合数取模的几种方法
查看>>