天天看點

android九宮格跳轉,Android中用GridView實作九宮格的兩種方法(轉)

packagecom.test;importandroid.app.Activity;importandroid.content.Context;importandroid.os.Bundle;importandroid.view.LayoutInflater;importandroid.view.View;importandroid.view.ViewGroup;importandroid.widget.AdapterView;importandroid.widget.BaseAdapter;importandroid.widget.GridView;importandroid.widget.ImageView;importandroid.widget.TextView;importandroid.widget.Toast;importandroid.widget.AdapterView.OnItemClickListener;public class GridViewActivity extendsActivity {//存放各功能圖檔

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};

@Overrideprotected voidonCreate(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(newOnItemClickListener() {

@Overridepublic void onItemClick(AdapterView>parent, View view,int position, longid) {

Toast.makeText(GridViewActivity.this, "圖檔ID:" + mFunctionPics[position],1).show();

}

});

}public class ImageAdapter extendsBaseAdapter {privateContext mContext;privateLayoutInflater inflater;private classGridHolder {

ImageView phone_function_pic;

TextView phone_function_name;

}publicImageAdapter(Context c){

mContext=c;

inflater=(LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

}

@Overridepublic intgetCount() {returnmFunctionPics.length;

}

@Overridepublic Object getItem(intposition) {returnposition;

}

@Overridepublic long getItemId(intposition) {returnposition;

}

@Overridepublic View getView(intposition, View convertView, ViewGroup parent) {

GridHolder holder;if(convertView == null) {

convertView= inflater.inflate(R.layout.gridview_item, null);

holder= newGridHolder();

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]);returnconvertView;

}

}

}