package com.qqz.exploreractivity;import java.util.List;import android.app.Activity;
import android.content.Context;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.TextView;public class showAppExplorerActivity extends Activity {
/** Called when the activity is first created. */
private GridView gv_explorer;
private final static String TAG = "DBHelper";
private List<PackageInfo> packageInfos;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
packageInfos = getPackageManager().getInstalledPackages(0);
setContentView(R.layout.show_explorer_grid);
gv_explorer = (GridView) this.findViewById(R.id.gv_explorer);
gv_explorer.setAdapter(new AppItmeAdapter(this));
}
class AppItmeAdapter extends BaseAdapter
{
//构造方法
public AppItmeAdapter(Context context )
{
LayoutInflater inflater = LayoutInflater.from(context);
} @Override
public int getCount()
{
// TODO Auto-generated method stub
return packageInfos.size();
} @Override
public Object getItem(int position)
{
// TODO Auto-generated method stub
return (PackageInfo)packageInfos.get(position);
} @Override
public long getItemId(int position)
{
// TODO Auto-generated method stub
return position;
} @Override
public View getView(int position, View convertView, ViewGroup parent)
{
// TODO Auto-generated method stub
View view =inflater.inflate(R.layout.app_item, null);
ImageView app_image = (ImageView) findViewById(R.id.app_image);
TextView app_name = (TextView) findViewById(R.id.app_name);
System.out.println(packageInfos.get(position)+"软件的名称");
System.out.println(position+"软件的位置");
System.out.println(packageInfos.get(position).applicationInfo.loadLabel(getPackageManager()).toString());
System.out.println("*********华丽的分割线*************");
app_name.setText(packageInfos.get(position).applicationInfo.loadLabel(getPackageManager()).toString());
app_image.setImageDrawable(packageInfos.get(position).applicationInfo.loadIcon(getPackageManager())); return view;
}
}
}
import android.content.Context;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.TextView;public class showAppExplorerActivity extends Activity {
/** Called when the activity is first created. */
private GridView gv_explorer;
private final static String TAG = "DBHelper";
private List<PackageInfo> packageInfos;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
packageInfos = getPackageManager().getInstalledPackages(0);
setContentView(R.layout.show_explorer_grid);
gv_explorer = (GridView) this.findViewById(R.id.gv_explorer);
gv_explorer.setAdapter(new AppItmeAdapter(this));
}
class AppItmeAdapter extends BaseAdapter
{
//构造方法
public AppItmeAdapter(Context context )
{
LayoutInflater inflater = LayoutInflater.from(context);
} @Override
public int getCount()
{
// TODO Auto-generated method stub
return packageInfos.size();
} @Override
public Object getItem(int position)
{
// TODO Auto-generated method stub
return (PackageInfo)packageInfos.get(position);
} @Override
public long getItemId(int position)
{
// TODO Auto-generated method stub
return position;
} @Override
public View getView(int position, View convertView, ViewGroup parent)
{
// TODO Auto-generated method stub
View view =inflater.inflate(R.layout.app_item, null);
ImageView app_image = (ImageView) findViewById(R.id.app_image);
TextView app_name = (TextView) findViewById(R.id.app_name);
System.out.println(packageInfos.get(position)+"软件的名称");
System.out.println(position+"软件的位置");
System.out.println(packageInfos.get(position).applicationInfo.loadLabel(getPackageManager()).toString());
System.out.println("*********华丽的分割线*************");
app_name.setText(packageInfos.get(position).applicationInfo.loadLabel(getPackageManager()).toString());
app_image.setImageDrawable(packageInfos.get(position).applicationInfo.loadIcon(getPackageManager())); return view;
}
}
}
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="90px"
android:layout_height="wrap_content"
android:gravity="center"
>
<ImageView
android:id="@+id/app_image"
android:layout_width="64px"
android:layout_height="64px"
/>
<TextView
android:id="@+id/app_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:lines="2"
android:textSize="16px"
android:textColor="#FF6699"
/>
</LinearLayout>
布局如下,packageInfos.get(position).applicationInfo.loadLabel(getPackageManager()).toString()能输出来,就是在进行set方法的时候报错