天天看點

Android使用ListView展示清單資料

效果:

Android使用ListView展示清單資料

總體部局檔案:activity_act_car_info.xml

<?xml version="1.0" encoding="utf-8"?> 

<ListView xmlns:android="http://schemas.android.com/apk/res/android" 

   android:id="@android:id/list" 

    android:layout_width="fill_parent" 

    android:layout_height="fill_parent" 

    android:background="#ffffff" 

   > 

</ListView>

布局檔案:carinfolayout.xml

<?xml version="1.0" encoding="utf-8"?> 

<RelativeLayout 

  xmlns:android="http://schemas.android.com/apk/res/android" 

  android:layout_width="fill_parent" 

  android:layout_height="wrap_content"> 

  <TextView    

    android:id="@+id/text1" 

    android:layout_alignParentLeft="true" 

    android:layout_width="wrap_content" 

    android:layout_height="wrap_content"/> 

  <ImageView   

    android:id="@+id/image" 

    android:layout_alignParentRight="true" 

    android:layout_width="wrap_content" 

    android:layout_height="wrap_content"/> 

</RelativeLayout>

Activity中的JAVA檔案:

package com.example.leoncar;

import java.util.ArrayList;

import java.util.HashMap;

import com.example.leoncar.R.string;

import android.os.Bundle;

import android.app.ListActivity;

import android.content.Context;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.widget.BaseAdapter;

import android.widget.ImageView;

import android.widget.ListView;

import android.widget.TextView;

public class ActCarInfo extends ListActivity  {

  ListView lView=null;

 @Override

 protected void onCreate(Bundle savedInstanceState) {

  super.onCreate(savedInstanceState);

  setContentView(R.layout.activity_act_car_info);

  ActCarInfo.this.setTitle("車輛基本資訊");

  setListAdapter(new TextImageAdapter(this));  

 }

private class TextImageAdapter extends BaseAdapter{  

         private Context mContext;  

        public TextImageAdapter(Context context) {  

           this.mContext=context;  

         }  

         public int getCount() {  

             return texts1.length;  

         }  

         public Object getItem(int position) {  

             return null;  

         }  

        public long getItemId(int position) {  

            return 0;  

         }  

         //用以生成在ListView中展示的一個個元素View  

         public View getView(int position, View convertView, ViewGroup parent) {  

             //優化ListView  

             if(convertView==null){  

                 convertView=LayoutInflater.from(mContext).inflate(R.layout.carinfolayout, null);  

                ItemViewCache viewCache=new ItemViewCache();  

                 viewCache.mTextView1=(TextView)convertView.findViewById(R.id.text1); 

                viewCache.mImageView=(ImageView)convertView.findViewById(R.id.image);  

                 convertView.setTag(viewCache);  

             }  

            ItemViewCache cache=(ItemViewCache)convertView.getTag();  

            //設定文本和圖檔,然後傳回這個View,用于ListView的Item的展示  

             cache.mTextView1.setText(texts1[position]);  

            cache.mImageView.setImageResource(images[position]);  

             return convertView;  

         }  

     }  

     //元素的緩沖類,用于優化ListView  

     private static class ItemViewCache{  

         public TextView mTextView1; 

         public ImageView mImageView;  

     }  

   //展示的文字  

     private  String[] texts1=new String[]{"天氣","我團","背景"};  

     //展示的圖檔  

     private int[] images=new int[]{R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher};  

 } 

繼續閱讀