在列表视图项目旁边添加缩略图
如何从每个列表视图项目的左侧添加可绘制文件夹中的缩略图图像?在列表视图项目旁边添加缩略图
我也想算的列表项目的数目,在我的TextView显示它们
任何帮助,将不胜感激! IM停留在这个很长一段时间
public class MainActivity extends Activity {
ArrayList<String> results = new ArrayList<String>();
ArrayList<String> packageNames = new ArrayList<String>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getInstalledApps(this);
ArrayAdapter adapter = new ArrayAdapter<String>(this,
R.layout.activity_listview, results);
ListView listView = (ListView) findViewById(R.id.mobile_list);
listView.setAdapter(adapter);
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
String packageName = packageNames.get(position);
Intent intent = new Intent(
android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setData(Uri.parse("package:" + packageName));
startActivity(intent);
}
});
}
private ArrayList<String> getInstalledApps(Context context) {
PackageManager packageManager = context.getPackageManager();
List<PackageInfo> applist = packageManager.getInstalledPackages(0);
Iterator<PackageInfo> it = applist.iterator();
while (it.hasNext()) {
PackageInfo pk = (PackageInfo) it.next();
if ((pk.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0) {
Log.v("system app using internet = ",
"" + pk.applicationInfo.loadLabel(packageManager));
continue;
}
if (PackageManager.PERMISSION_GRANTED == packageManager
.checkPermission(Manifest.permission.INTERNET,
pk.packageName)
|| PackageManager.PERMISSION_GRANTED == packageManager
.checkPermission(
Manifest.permission.READ_EXTERNAL_STORAGE,
pk.packageName)) {
results.add("" + pk.applicationInfo.loadLabel(packageManager));
packageNames.add(pk.packageName);
}
}
Log.v("app using internet = ", results.toString());
return results;
}
}
试试这个:
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, results) {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
TextView textView = (TextView) super.getView(position, convertView, parent);
//Change this to your drawable
Drawable myDrawable = getResources().getDrawable(android.R.drawable.ic_dialog_alert)
textView.setCompoundDrawables(myDrawable , null, null, null);
return textView;
}
};
我应该在哪里插入?或将其替换为?谢谢 – user5784363
用这个代码代替'ArrayAdapter adapter = new ArrayAdapter
我做了,它不做任何事,我没有看到任何图像。我需要在布局中使用imageview吗? – user5784363
如果您正在使用然后自定义适配器做到这一点在你的getView方法
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View rowView = inflater.inflate(R.layout.row_layout, parent, false);
TextView textView = (TextView) rowView.findViewById(R.id.label);
ImageView imageView = (ImageView) rowView.findViewById(R.id.icon);
textView.setText(values[position]);
String s = values[position];
imageView.setImageResource(R.drawable.no);
return rowView;
}
我在哪里把这段代码放在我的代码中? – user5784363
更改适配器的'getView'方法。 – Rohit5k2
嗨,你可以参考这个链接。 http://www.vogella.com/tutorials/AndroidListView/article.html – Nik