Я пытаюсь создать список с пользовательской ячейкой элемента списка полностью программным способом (без использования каких-либо XML).Я сталкиваюсь с ошибкой ниже.После нескольких часов поиска в Интернете я пишу это в качестве своего первого вопроса о переполнении стека.
Ценю ваши замечания по этому вопросу и любые предложения о том, как лучше справляться с программированием на Android без использования языка R. *. Xml.
При запуске этого кода я получаю следующую ошибку:
(Приостановлено (исключение Ресурсы $ NotFoundException))
ListView.layoutChildren () line: 1596
ListView (AbsListView) .onLayout (логическое, int, int, int, int) строка: 1112
ListView (просмотр) .layout (int, int, int, int) строка: 6569
FrameLayout.onLayout (boolean, int, int, int, int) строка: 333 ...
Код:
открытый классMyList расширяет ListActivity {
static final ArrayList<HashMap<String,String>> list =
new ArrayList<HashMap<String,String>>();
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// ПОЛЬЗОВАТЕЛЬСКИЙ СПИСОК
LinearLayout mainLayout=new LinearLayout(this);
ListView myListView=new ListView(this);
mainLayout.addView(myListView);
LinearLayout ListItemLayout=new LinearLayout(this);
TextView title = new TextView(this);
TextView author = new TextView(this);
TextView price = new TextView(this);
ListItemLayout.addView(title);
ListItemLayout.addView(author);
ListItemLayout.addView(price);
SimpleAdapter adapter = new SimpleAdapter(
this,
list,
ListItemLayout.getId(),
new String[] {"title","author","price"},
new int[] {ListItemLayout.getChildAt(0).getId(),ListItemLayout.getChildAt(1).getId(),ListItemLayout.getChildAt(2).getId()}
);
populateList();
setListAdapter(adapter);
}
private void populateList() {
HashMap<String,String> map = new HashMap<String,String>();
map.put("title",
"Professional Android ");
map.put("author", "Meier");
map.put("price", "$54.99");
list.add(map);
map = new HashMap();
map.put("title","Android 2");
map.put("author",
"Sayed");
map.put("price", "$48.98");
list.add(map);
}
}