In welcher Methode fügst du die textviews hinzu. oncreateView oder onactivitycreated .
Wie ist dein layout aufgebaut mit XML oder willst du es dynamisch erstellen?
Zeige mal wie du das machst.
Hallo,
ich mache das folgendermaßen:
Dieser Code ist im onCreateView()-Teil:
Code
for (final ReadEvent readevent : alldatesmonthly_init_previous) {
long difference = (readevent.getDtstart() - calendar_millis) / 1000 / 24 / 60 / 60;
MonthFragment.this.addDate((int) difference + MonthFragment.this.start - 1, readevent.getEventname(), readevent.getCalendarid(), readevent.getEventcolor());
}
addDate:
Code
private void addDate(int numoflinearlayout, String title, long calendarid, String color) {
Events events = new Events(this.c);
if(color == null) {
color = events.getCalendarColor(calendarid);
}
/*int color_parsed;
try {
color_parsed = Color.parseColor(color);
} catch(Exception e) {
color_parsed = (0xff000000 + Integer.parseInt(color));
}*/
showPopup(numoflinearlayout, title, color);
}
Alles anzeigen
showPopup():
Code
private void showPopup(int numoflinearlayout, String title, String color) {
final LinearLayout linearlayout = new LinearLayout(this.c);
final LinearLayout.LayoutParams layout = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
layout.setMargins(0, 1, 0, 0);
linearlayout.setLayoutParams(layout);
int color_parsed;
try {
color_parsed = Color.parseColor(color);
} catch(Exception e) {
color_parsed = (0xff000000 + Integer.parseInt(color));
}
//Color.parseColor(color)
linearlayout.setBackgroundColor(color_parsed);
linearlayout.setOrientation(LinearLayout.HORIZONTAL);
final TextView txtview2 = new TextView(this.c);
txtview2.setText(title);
txtview2.setTextSize(9);
txtview2.setSingleLine(false);
linearlayout.addView(txtview2);
try {
linearlayouts.get(numoflinearlayout).addView(linearlayout);
}
catch (Exception e) {
}
}
Alles anzeigen
Das alles ist in einem Fragment.
Mein Wunsch wäre es, dass showPopup() in einem Hintergrundprozess aufgerufen wird.