Gallery用法之百家姓显示
packagecom.example.testgallary;importjava.util.ArrayList;importjava.util.HashMap;importjava.util.List;importjava.util.Map;importandroid.os.Bundle;importandroid.app.Activity;importandroid.content.Context;importandroid.graphics.Color;importandroid.view.LayoutInflater;importandroid.view.View;importandroid.view.ViewGroup;importandroid.widget.AdapterView;importandroid.widget.AdapterView.OnItemClickListener;importandroid.widget.BaseAdapter;importandroid.widget.Gallery;importandroid.widget.ImageView;importandroid.widget.TextView;importandroid.widget.Toast;publicclassMainActivityextendsActivityimplementsOnItemClickListener{privateGallerymGallery;privateMyAdapteradapter;privateList<Map<String,Object>>data=null;privateList<Map<String,Object>>list;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mGallery=(Gallery)findViewById(R.id.gallery1);data=getData();//获取数据adapter=newMyAdapter(this);mGallery.setAdapter(adapter);mGallery.setOnItemClickListener(this);}privateList<Map<String,Object>>getData(){list=newArrayList<Map<String,Object>>();Map<String,Object>map;for(inti=0;i<str.length;i++){map=newHashMap<String,Object>();map.put("title",str[i]);list.add(map);}returnlist;}//ViewHolder静态类staticclassViewHolder{publicTextViewtitle;}publicclassMyAdapterextendsBaseAdapter{privateLayoutInflatermInflater=null;privateMyAdapter(Contextcontext){//根据context上下文加载布局this.mInflater=LayoutInflater.from(context);}@OverridepublicintgetCount(){//在此适配器中所代表的数据集中的条目数returndata.size();}@OverridepublicObjectgetItem(intposition){//获取数据集中与指定索引对应的数据项returnposition;}@OverridepubliclonggetItemId(intposition){//获取在列表中与指定索引对应的行idreturnposition;}//获取一个在数据集中指定索引的视图来显示数据@OverridepublicViewgetView(intposition,ViewconvertView,ViewGroupparent){ViewHolderholder=null;//如果缓存convertView为空,则需要创建Viewif(convertView==null){holder=newViewHolder();//根据自定义的Item布局加载布局convertView=mInflater.inflate(R.layout.list_item,null);holder.title=(TextView)convertView.findViewById(R.id.title);holder.title.setTextSize(32);//将设置好的布局保存到缓存中,并将其设置在Tag里,以便后面方便取出TagconvertView.setTag(holder);}else{holder=(ViewHolder)convertView.getTag();}holder.title.setText((String)data.get(position).get("title"));holder.title.setTextColor(Color.BLACK);//returnconvertView;}}@OverridepublicvoidonItemClick(AdapterView<?>arg0,Viewarg1,intarg2,longarg3){Toast.makeText(MainActivity.this,data.get(arg2).get("title").toString(),Toast.LENGTH_SHORT).show();}String[]str={"李","王","孙","杜","赵","吴","陆","杨","侯","屈","宋","周","张","陈","冯","朱","蒋","沈","韩","秦","许","何","吕","孔","诸葛","夏侯"};}
//activity_main layout布局文件
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="fill_parent"android:layout_height="match_parent"tools:context=".MainActivity"><Galleryandroid:id="@+id/gallery1"android:layout_width="fill_parent"android:layout_height="wrap_content"/></LinearLayout>
//list_item.xml
<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="horizontal"><TextViewandroid:id="@+id/title"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="20sp"android:layout_marginRight="20sp"android:text=""/></LinearLayout>
http://670176656.blog.51cto.com/addblog.php
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。