Я пытаюсь показать список установленных приложений в диалоговом окне, нажав кнопку. Список приложений должен быть в gridview.показывает список установленных приложений в gridview, который находится в диалоговом окне - не работает
Мой код выглядит следующим образом
mapapp.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
loadApps();
final Dialog dialog = new Dialog(getApplicationContext());
LayoutInflater inflater = (LayoutInflater)
getApplicationContext().getSystemService(LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.categorydialog,
(ViewGroup) findViewById(R.id.layout_root));
dialog.setTitle("Title...");
GridView mGrid = (GridView) layout.findViewById(R.id.gridview);
mGrid.setAdapter(new AppsAdapter(MainActivity.this));
mGrid.setOnItemClickListener(new OnItemClickListener()
{
public void onItemClick(AdapterView<?> parent, View v,
int position, long id) {
}
});
}
});
методы
private void loadApps() {
Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
mApps = getPackageManager().queryIntentActivities(mainIntent, 0);
}
адаптер выглядит следующим образом
public class AppsAdapter extends BaseAdapter {
private Context mContext;
public AppsAdapter(Context context) {
mContext = context;
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
public View getView(int position, View convertView, ViewGroup parent) {
ImageView i;
if (convertView == null) {
i = new ImageView(mContext);
i.setScaleType(ImageView.ScaleType.FIT_CENTER);
i.setLayoutParams(new GridView.LayoutParams(50, 50));
} else {
i = (ImageView) convertView;
}
ResolveInfo info = mApps.get(position);
i.setImageDrawable(info.activityInfo.loadIcon(getPackageManager()));
return i;
}
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;
}
}
Нет ошибок и ничего не отображается. Пожалуйста, предложите мне, где я могу ошибаться.