当前位置: 首页 > 科技观察

AndroidUI系统的ListView

时间:2023-03-12 21:11:04 科技观察

1.创建项目:ListViewLearn2。修改MainActivity,继承自ListActivity3。创建一个String数组来保存ListViewpackagecom.learn.listviewlearn.utility中的实际内容;publicclassUtil{publicstaticfinalString[]COUNTRYS={"中国","美国","俄罗斯","英国","法国"};}4.修改onCreate方法,设置一个Adapter,数组的内容会显示在ListView中@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);//setContentView(R.layout.activity_main);this.setListAdapter(newArrayAdapter)(this,android.R.layout.simple_dropdown_item_1line,Util.COUNTRYS));}2.使用XML布局文件定义ListView的样式1.修改activity_main.xml文件,添加一个ListView,id必须是android:id="@android:id/list"LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="垂直">2.修改OnCreate方法@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);this.setListAdapter(newArrayAdapter(this,android.R.layout.simple_dropdown_item_1line,Util.COUNTRYS));}3.使用XML布局文件定义ListViewItem的样式1.首先创建一个list_view.xml布局文件2.然后创建一个Adapter继承于BaseAdapter,主要修改getCount()和getView()方法packagecom.learn.listviewlearn.adapter;importcom.learn.listviewlearn.R;importcom.learn.listviewlearn.utility.Util;importandroid.content.Context;importandroid.view.LayoutInflater;importandroid.view.View;importandroid。view.ViewGroup;importandroid.widget.BaseAdapter;importandroid.widget.ImageView;importandroid.widget.TextView;publicclassListViewAdapterextendsBaseAdapter{privateContextcontext;publicListViewAdapter(){//TODOAuto-generatedconstructorstub}@OverridepublicintgetCount(){returnUtil.COUNTRYS.length;}@OverridepublicObjectgetItem(intposition){//TODOAuto-generatedmethodstubreturnnull;}@OverridepubliclonggetItemId(intposition){//TODOAuto-generatedmethodstubreturn0;}@OverridepublicViewgetView(intposition,ViewconvertV查看,ViewGroupparent){if(convertView==null){convertView=LayoutInflater.from(context).inflate(R.layout.list_item,null);ItemViewCacheitemViewCache=newItemViewCache();itemViewCache.imageView=(ImageView)convertView.findViewById(R.id.imageViewIcon);itemViewCache.textView=(TextView)convertView.findViewById(R.id.textViewContent);convertView.setTag(itemViewCache);}ItemViewCachecache=(ItemViewCache)convertView.getTag();cache.imageView.setImageResource(Util.images[position]);cache.textView.setText(Util.COUNTRYS[position]);returnconvertView;}privatestaticclassItemViewCache{publicTextViewtextView;publicImageViewimageView;}}Util.javapackagecom.learn.listviewlearn.utility;importcom.learn.listviewlearn.R;publicclassUtil{publicstaticfinalString[]COUNTRYS={"中国","美国","俄罗斯","英国","法国"};publicstaticfinalint[]images={R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher};}4.为ListView添加Click事件。只需在MainActivity中实现onListItemClick()方法即可}