首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

自定义BaseAdapter,兑现列表显示功能

2012-06-26 
自定义BaseAdapter,实现列表显示功能public class AppInfo{public String appName null//应用程序名pub

自定义BaseAdapter,实现列表显示功能

public class AppInfo{  public String appName = null;//应用程序名public Drawable icon = null;//应用程序图片}

?

?

import java.util.List;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;public class ListViewAdapter extends BaseAdapter{    private Context context;    private List<AppInfo> appList;    public ListViewAdapter(Context context, List<AppInfo> appList)    {        this.context = context;        this.appList = appList;    }    @Override    public int getCount()    {        // TODO Auto-generated method stub        return appList.size();    }    @Override    public Object getItem(int position)    {        // TODO Auto-generated method stub        return appList.get(position);    }    @Override    public long getItemId(int position)    {        // TODO Auto-generated method stub        return 0;    }    @Override    public View getView(int position, View convertView, ViewGroup parent)    {        // TODO Auto-generated method stub        View view = null;        ViewHolder holder = null;        LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);        if (convertView == null)        {            view = inflater.inflate(R.layout.list_item, null);            holder = new ViewHolder(view);            view.setTag(holder);        } else        {            view = convertView;            holder = (ViewHolder) convertView.getTag();        }                AppInfo appInfo = (AppInfo)getItem(position);        holder.tvInfo.setText(appInfo.appName);        holder.imgInfo.setImageDrawable(appInfo.icon);        return view;    }    class ViewHolder    {        TextView tvInfo;        ImageView imgInfo;        public ViewHolder(View view)        {            tvInfo = (TextView) view.findViewById(R.id.tv01);            imgInfo = (ImageView) view.findViewById(R.id.img01);        }    }}

?

?

?

import android.app.Activity;import android.app.AlertDialog;import android.content.pm.PackageInfo;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.ImageButton;import android.widget.ListView;import java.util.*;public class MyActivity extends Activity {    private ListView listView = null;    private List<AppInfo> appList = new ArrayList<AppInfo>();    private List<PackageInfo> manager = null;    @Override    public void onCreate(Bundle savedInstanceState)    {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        listView = (ListView) findViewById(R.id.mylist);        manager = getPackageManager().getInstalledPackages(0);        for (int i = 0; i < manager.size(); i++)        {            PackageInfo packageInfo = manager.get(i);            //应用程序信息存储到appinfo里            AppInfo appInfo = new AppInfo();            appInfo.appName = packageInfo.applicationInfo.loadLabel(getPackageManager()).toString();            appInfo.icon = packageInfo.applicationInfo.loadIcon(getPackageManager());            appList.add(appInfo);        }                ListViewAdapter adapter = new ListViewAdapter(this, appList);        listView.setAdapter(adapter);    }}

?

?

?

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    >        <ImageView         android:id="@+id/img01"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        />    <TextView          android:id="@+id/tv01"        android:layout_width="fill_parent"         android:layout_height="wrap_content"                 /></LinearLayout>

?

?

?

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    >    <ListView        android:id="@+id/mylist"          android:layout_width="fill_parent"         android:layout_height="wrap_content"         android:text="@string/hello"        /></LinearLayout>

?

热点排行