Ich habe den folgenden Code zum dynamischen Hinzufügen von Schaltflächen für jedes Element in der Toylist-Objekt toyCatalog, die 46 Elemente lang ist.Dynamisch Hinzufügen von Schaltflächen in Android-Programm
toyCatalog = new ToyList(content, length);
LinearLayout ll = (LinearLayout)findViewById(R.id.layout);
int numToys = toyCatalog.getNumOfToys();
for(int i =0; i<numToys; i++){
System.out.println("adding button " + i);
Button myButton = new Button(this);
myButton.setText("New Toy");
LayoutParams lp = new LayoutParams(MATCH_PARENT, WRAP_CONTENT);
ll.addView(myButton, lp);
}
aber wenn ich versuche, um den Code auszuführen, erhalte ich
I/Choreographer: Skipped 43 frames! The application may be doing too much work on its main thread.
Und nur drei Tasten auf der Seite angezeigt. Wie verwalte ich die Arbeit am Haupt-Thread, damit ich dynamisch Schaltflächen hinzufügen kann?
Ihr Code zum Programmieren einer Schaltfläche ist in Ordnung. Nichts ist falsch damit. Wie der Logcat sagt, scheint in deinem Hauptthread viel los zu sein. Meine Frage: Wo befindet sich dieser Codeausschnitt in Ihrer Anwendung? Können Sie den gesamten Code mit der Methode oder Klasse angeben, zu der er gehört? – ljpv14