android应用程序列表,android – 如何在列表中获取应用程序的图...

请查看我的解决方案以获取应用程序图标列表

在此获取所有应用程序的ResolveInfo列表

这是获取android中应用程序图标列表的方法,希望这个例子对你有所帮助.

import java.util.List;

import android.app.ListActivity;

import android.content.Context;

import android.content.Intent;

import android.content.pm.ResolveInfo;

import android.os.Bundle;

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 IconListActivity extends ListActivity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

loadApps();

}

private void loadApps() {

Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);

mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);

List mApps = getPackageManager().queryIntentActivities(mainIntent, 0);

ListView listView = getListView();

listView.setAdapter(new AppsAdapter(this,mApps));

}

public class AppsAdapter extends BaseAdapter {

private LayoutInflater inflater;

private List mApps;

public AppsAdapter(Context context, List mApps) {

this.inflater = LayoutInflater.from(context);

this.mApps = mApps;

}

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

ViewHendler hendler;

if (convertView == null) {

convertView = inflater.inflate(R.layout.row_view, null);

hendler = new ViewHendler();

hendler.textLable = (TextView)convertView.findViewById(R.id.textViewLable);

hendler.iconImage = (ImageView)convertView.findViewById(R.id.imageViewIcon);

convertView.setTag(hendler);

} else {

hendler = (ViewHendler)convertView.getTag();

}

ResolveInfo info = this.mApps.get(position);

hendler.iconImage.setImageDrawable(info.loadIcon(getPackageManager()));

hendler.textLable.setText(info.loadLabel(getPackageManager()));

return convertView;

}

class ViewHendler{

TextView textLable;

ImageView iconImage;

}

public final int getCount() {

return mApps.size();

}

public final Object getItem(int position) {

return mApps.get(position);

}

public final long getItemId(int position) {

return position;

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值