Я использую ListView
для отображения главного экрана приложения.
Главный экран по существу является menu
, чтобы войти в различные разделы приложения. В настоящее время у меня есть ListView
, содержимое которого программно добавляется в метод onCreate
.Как создать иконки для элементов меню в ListView от Android?
Вот фрагмент кода, который делает это:
String[] mainItems = {
"Inbox", "Projects", "Contexts", "Next Actions"
}
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
setListAdapter(new ArrayAdapter<String>(
this, android.R.layout.simple_list_item_1, mainItems));
registerForContextMenu(getListView());
}
Так что меню в основном просто куча узлов с текста, содержащегося в массиве mainItems. Я знаю, что я могу создать XML-макет (то есть R.layout.mainMenu_item
), в котором есть ImageView и TextView, но я не уверен, как установить значок ImageView. Я видел, что существует метод setImageResouce (int resId), но способ использовать его при генерации с помощью ArrayAdapter ускользает от меня. Есть лучший способ сделать это?
Обратите внимание, что вам действительно стоит посмотреть на convertView и только надуть новые строки, если они вам действительно понадобятся. Если convertView не является нулевым, это какая-то предыдущая строка, которую вы накачали раньше, до утилизации. Просто сбросьте значок и верните переработанную строку. Меньше мусора, быстрее выполняется. – CommonsWare 2009-07-10 01:58:28