Ich versuche, eine Liste mit einer benutzerdefinierten List Element Zelle auf eine vollständig programmatische Weise (ohne Verwendung von XML) zu erstellen. Ich laufe in den unteren Fehler. Nach mehreren Stunden der Suche im Internet schreibe ich dies als meine erste Frage zu Stack Overflow.
Schätzen Sie Ihre Eingaben auf dieser & irgendwelche Vorschläge, wie Android-Programmierung besser in den Griff, ohne die R mit * xml
Auf diesen Code ausgeführt wird, ich die folgenden Fehler:..
(Suspended (Ausnahme Ressourcen $ NotFoundException))
ListView.layoutChildren() Zeile: 1596
Listview (AbsListView) .onLayout (boolean, int, i nt, int, int) Zeile: 1112
Listview (Ansicht) .layout (int, int, int, int) Zeile: 6569
FrameLayout.onLayout (boolean, int, int, int, int) Linie 333 ...
Code::
public class MyList ListActivity erstreckt {
static final ArrayList<HashMap<String,String>> list =
new ArrayList<HashMap<String,String>>();
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// CUSTOM LI ST
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);
}
}
Arbeitete perfekt nach dem Erstellen eines benutzerdefinierten Adapters. Danke Qberticus! – dmg