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>>)

http://blog.csdn.net/hellogv/article/details/4567095

更多相关文章

  1. android 图文一起 textview SpannableString和ImageSpan类的使用
  2. Android(安卓)edittext中添加图片并且监听图片的点击事件
  3. Android(安卓)webview解析 ,webview点击获取图片地址
  4. Android三种基本的加载网络图片方式
  5. android listview使用glide异步加载图片错位,闪烁问题
  6. android的TextView使用Html(图片显示)格式
  7. android vm heap 虚拟机堆大小 每个应用的堆大小
  8. Android实现在屏幕上移动图片的方法
  9. Android手机监控应用(一)

随机推荐

  1. MySQL去除重叠时间求时间差和的实现
  2. Mysql数据库中datetime、bigint、timesta
  3. MySQL的全局锁和表级锁的具体使用
  4. SQL IDENTITY_INSERT作用案例详解
  5. MySQL外键约束(FOREIGN KEY)案例讲解
  6. MySQL非空约束(not null)案例讲解
  7. MySQL 1130异常,无法远程登录解决方案详
  8. 解决mysql数据库数据迁移达梦数据乱码问
  9. MySQL连接异常报10061错误问题解决
  10. MySQL/MariaDB中如何支持全部的Unicode