随笔 - 632  文章 - 17  评论 - 54  阅读 - 93万

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   飘杨......  阅读(185)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示