900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > Android中用GridView实现九宫格的两种方法(转)

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

时间:2022-08-15 02:33:21

相关推荐

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

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

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

/hellogv/article/details/4567095

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。