Можете ли вы дать мне исходный код простого представления в виде сетки?
Я хочу, чтобы все установленные приложения отображались в виде сетки
Спасибо. ..............................................
installedApps = getInstalledApps(); installedAppAdapter = new AppAdapter(MainActivity.this, installedApps); userInstalledApps.setAdapter(installedAppAdapter); userInstalledApps.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView adapterView, View view, final int i, long l) {
String[] colors = {" Open App", " App Info"}; AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); builder.setTitle("Choose Action") .setItems(colors, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { // The 'which' argument contains the index position of the selected item if (which==0){ Intent intent = getPackageManager().getLaunchIntentForPackage(installedApps.get(i).packages); if(intent != null){ startActivity(intent); } else { Toast.makeText(MainActivity.this, installedApps.get(i).packages + " Error, Please Try Again...", Toast.LENGTH_SHORT).show(); } } if (which==1){ Intent intent = new Intent(android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS); intent.setData(Uri.parse("package:" + installedApps.get(i).packages)); Toast.makeText(MainActivity.this, installedApps.get(i).packages, Toast.LENGTH_SHORT).show(); startActivity(intent); } } }); builder.show();
} });
//Total Number of Installed-Apps(i.e. List Size) String abc = userInstalledApps.getCount()+""; TextView countApps = (TextView)findViewById(R.id.countApps); countApps.setText("Total Installed Apps: "+abc); Toast.makeText(this, abc+" Apps", Toast.LENGTH_SHORT).show();
}
private List getInstalledApps() { PackageManager pm = getPackageManager(); List apps = new ArrayList(); List packs = getPackageManager().getInstalledPackages(0); //List packs = getPackageManager().getInstalledPackages(PackageManager.GET_PERMISSIONS); for (int i = 0; i < packs.size(); i++) { PackageInfo p = packs.get(i); if ((!isSystemPackage(p))) { String appName = p.applicationInfo.loadLabel(getPackageManager()).toString(); Drawable icon = p.applicationInfo.loadIcon(getPackageManager()); String packages = p.applicationInfo.packageName; apps.add(new AppList(appName, icon, packages)); } } return apps; }
class ViewHolder{ public GridView GridView; TextView textInListView; ImageView imageInListView; TextView packageInListView;
} }
public class AppList { private String name; Drawable icon; private String packages; public AppList(String name, Drawable icon, String packages) { this.name = name; this.icon = icon; this.packages = packages; } public String getName() { return name; } public Drawable getIcon() { return icon; } public String getPackages() { return packages; }
} } [/code] activity_main.xml: [code]
[/code] installed_app_list.xml: [code]
[/code] Можете ли вы дать мне исходный код простого представления в виде сетки? Я хочу, чтобы все установленные приложения отображались в виде сетки Спасибо. ..............................................