欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > Android >内容正文

Android

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

发布时间:2023/12/10 Android 59 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Android中用GridView实现九宫格的两种方法(转) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

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

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

总结

以上是生活随笔为你收集整理的Android中用GridView实现九宫格的两种方法(转)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。