Android 使用BaseAdapter充当ListActivity的数据源

1.DemoActivity:使用ListActivity时可以不需要setContentView,直接使用BaseAdapter填充数据源即可。

package com.yw.demo;

import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import android.app.ListActivity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.view.Menu;
import android.view.View;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.Toast;

/**
 * ListActivity实例
 * @author USER
 *
 */
public class DemoActivity extends ListActivity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
//        setContentView(R.layout.activity_demo);
//        setListAdapter(new SimpleAdapter(this, getData(), android.R.layout.simple_list_item_1, new String[]{"data"}, new int[]{android.R.id.text1}));
//        setContentView(R.layout.activity_demo);
//使用BaseAdapter填充数据源
setListAdapter(
new CarbarnDetailsInfoAdapter(this)); getListView().setTextFilterEnabled(true); } }


1.组织数据源:

package com.yw.demo;

import java.util.ArrayList;
import java.util.List;

import android.annotation.SuppressLint;
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.TextView;

/**
 * 详细信息列表数据源
 * @author USER
 *
 */
public class CarbarnDetailsInfoAdapter extends BaseAdapter{
    private LayoutInflater layoutInflater;
    List<ParkInfo> parkInfos = new ArrayList<ParkInfo>();//填充时需要的数据源
    private Context context;
    public CarbarnDetailsInfoAdapter(Context context){
        this.context = context;
        //填充list集合
        parkInfos.add(new ParkInfo(context.getResources().getDrawable(R.drawable.ic_launcher),"上午","wumen","地下"));
        parkInfos.add(new ParkInfo(context.getResources().getDrawable(R.drawable.ic_launcher),"上午","wumen","地下"));
        parkInfos.add(new ParkInfo(context.getResources().getDrawable(R.drawable.ic_launcher),"上午","wumen","地下"));
        parkInfos.add(new ParkInfo(context.getResources().getDrawable(R.drawable.ic_launcher),"上午","wumen","地下"));
        parkInfos.add(new ParkInfo(context.getResources().getDrawable(R.drawable.ic_launcher),"上午","wumen","地下"));
        parkInfos.add(new ParkInfo(context.getResources().getDrawable(R.drawable.ic_launcher),"上午","wumen","地下"));
        parkInfos.add(new ParkInfo(context.getResources().getDrawable(R.drawable.ic_launcher),"上午","wumen","地下"));
        
        layoutInflater = LayoutInflater.from(context);//创建layouinflater
        
    }
    
    public int getCount() {//返回总个数
        return parkInfos.size();
    }

    public Object getItem(int position) {//返回当前项
        return parkInfos.get(position);
    }

    public long getItemId(int position) {//返回选中的项
        return position;
    }

    public View getView(int position, View convertView, ViewGroup parent) {
        if(convertView == null){
            convertView = layoutInflater.inflate(R.layout.carbarn_adapter, null);
        }
        ImageView img = (ImageView)convertView.findViewById(R.id.carbarn_imgv);
        TextView tvName = (TextView)convertView.findViewById(R.id.carbarn_name);
        TextView tvStar = (TextView)convertView.findViewById(R.id.carbarn_star);
        TextView tvAddress = (TextView)convertView.findViewById(R.id.carbarn_detailinfo);
        /*img.setBackgroundResource(R.drawable.ic_launcher);
        tvName.setText("sdfsdfsd");
        tvStar.setText("sdfsfsadfsd");
        tvAddress.setText(";ljljljk");*/
        img.setBackgroundDrawable(parkInfos.get(position).getParkImg());
        tvName.setText(parkInfos.get(position).getName());
        tvStar.setText(parkInfos.get(position).getStar());
        tvAddress.setText(parkInfos.get(position).getAddress());
        
        return convertView;
    }

}

3.main.xml文件:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
         android:orientation="vertical"
         android:layout_width="fill_parent" 
         android:layout_height="fill_parent"
         >
   <LinearLayout 
       android:orientation="horizontal"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       >
       <ImageView 
           android:id="@+id/menu_imgv1"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:src="@drawable/ic_launcher"/>
        <ImageView 
           android:id="@+id/menu_imgv2"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:src="@drawable/ic_launcher"/>

   </LinearLayout>
     <ListView android:id="@id/android:list"
               android:layout_width="fill_parent" 
               android:layout_height="fill_parent"
               android:background="#00FF00"
               
               android:layout_weight="1"
               android:drawSelectorOnTop="false"/>
  <HorizontalScrollView 
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:scrollbars="none"
            >
           <LinearLayout 
               android:id="@+id/linearLayout"
               android:orientation="horizontal"
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               >
              
                <ImageView 
                   android:id="@+id/menu_imgv3"
                   android:layout_width="wrap_content"
                   android:layout_height="wrap_content"
                   android:src="@drawable/ic_launcher"/>
                 <ImageView 
                   android:id="@+id/menu_imgv4"
                   android:layout_width="wrap_content"
                   android:layout_height="wrap_content"
                   android:src="@drawable/ic_launcher"/>
                  <ImageView 
                   android:id="@+id/menu_imgv5"
                   android:layout_width="wrap_content"
                   android:layout_height="wrap_content"
                   android:src="@drawable/ic_launcher"/>
                  <ImageView 
                   android:id="@+id/menu_imgv6"
                   android:layout_width="wrap_content"
                   android:layout_height="wrap_content"
                   android:src="@drawable/ic_launcher"/>
                 <ImageView 
                   android:id="@+id/menu_imgv7"
                   android:layout_width="wrap_content"
                   android:layout_height="wrap_content"
                   android:src="@drawable/ic_launcher"/>
                  <ImageView 
                   android:id="@+id/menu_imgv8"
                   android:layout_width="wrap_content"
                   android:layout_height="wrap_content"
                   android:src="@drawable/ic_launcher"/>
                  <ImageView 
                   android:id="@+id/menu_imgv9"
                   android:layout_width="wrap_content"
                   android:layout_height="wrap_content"
                   android:src="@drawable/ic_launcher"/>
                 <ImageView 
                   android:id="@+id/menu_imgv10"
                   android:layout_width="wrap_content"
                   android:layout_height="wrap_content"
                   android:src="@drawable/ic_launcher"/>
                  <ImageView 
                   android:id="@+id/menu_imgv11"
                   android:layout_width="wrap_content"
                   android:layout_height="wrap_content"
                   android:src="@drawable/ic_launcher"/>
                  
           </LinearLayout>  
   </HorizontalScrollView>
 </LinearLayout>

4.每一个item项的布局

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    <ImageView 
        android:id="@+id/carbarn_imgv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_launcher"
        />
    <TextView 
        android:id="@+id/carbarn_name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/carbarn_imgv"
        android:text="停车场名称"/>
    <TextView 
        android:id="@+id/carbarn_detailinfo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/carbarn_imgv"
        android:paddingTop="30dp"
        android:text="停车场详细地址"/>
    <TextView 
        android:id="@+id/carbarn_star"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/carbarn_name"
        android:paddingLeft="10dp"
        android:text="停车场评星等级"/>
</RelativeLayout>

 

posted on 2012-09-13 17:04  飘杨......  阅读(190)  评论(0)    收藏  举报