M
minni.maus
Neues Mitglied
- 0
Hallo liebes Forum,
ich habe ein Problem bei der Entwicklung einer Android-App.
Ich habe eine ListView und befülle diese mit Bildern die in einer xml-Datei gespeichert sind.
Ich möchte, dass die ListView beim ersten Klick auf den Tab (habe einen Tab um ein Bild auszuwählen) befüllt wird.
Soweit so gut.
Wenn der User aber nochmal auf den Tab klickt, werden alle Daten ein zweites Mal geladen - das will ich natürlich nicht.
Die Methode, die die ListView mit den Daten befüllt, soll nur ein einziges Mal aufgerufen werden. Bei meiner Suche im Internet kam ich auf folgende Lösung: Über die Shared Preferences einen boolean Wert setzen, damit die Methode nur einmal aufgerufen wird.
Habe ich auch probiert, allerdings wird dann beim zweiten Klick auf den Tab gar nichts mehr angezeigt.
Ich sitze nun scohn 4 Stunden und bin noch auf keine Lösung gekommen - wäre toll, wenn ihr mir helfen könnt. LG!
Anbei meine onCreate Methode.
ich habe ein Problem bei der Entwicklung einer Android-App.
Ich habe eine ListView und befülle diese mit Bildern die in einer xml-Datei gespeichert sind.
Ich möchte, dass die ListView beim ersten Klick auf den Tab (habe einen Tab um ein Bild auszuwählen) befüllt wird.
Soweit so gut.
Wenn der User aber nochmal auf den Tab klickt, werden alle Daten ein zweites Mal geladen - das will ich natürlich nicht.
Die Methode, die die ListView mit den Daten befüllt, soll nur ein einziges Mal aufgerufen werden. Bei meiner Suche im Internet kam ich auf folgende Lösung: Über die Shared Preferences einen boolean Wert setzen, damit die Methode nur einmal aufgerufen wird.
Habe ich auch probiert, allerdings wird dann beim zweiten Klick auf den Tab gar nichts mehr angezeigt.
Ich sitze nun scohn 4 Stunden und bin noch auf keine Lösung gekommen - wäre toll, wenn ihr mir helfen könnt. LG!
Anbei meine onCreate Methode.
Code:
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.show_model);
listView = (ListView) findViewById(R.id.lv_show_model);
SharedPreferences myPreferences = PreferenceManager.getDefaultSharedPreferences(this);
boolean isFirstRun = myPreferences.getBoolean("FIRSTRUN", true);
if (isFirstRun)
{
createModels();
SharedPreferences.Editor editor = myPreferences.edit();
editor.putBoolean("FIRSTRUN", false);
editor.commit();
}
SimpleAdapter mSchedule = new SimpleAdapter (this.getBaseContext(),
listItem, R.layout.show_model,
new String[] {"img", "title"},
new int[] {R.id.img, R.id.title});
listView.setAdapter(mSchedule);
listView.setClickable(true);
listView.setOnItemClickListener(pointClickListener);
}
public void createModels()
{
for(int i=0; i < WorldHandler.getSpheres().size(); i++)
{
map = new HashMap<String, String>();
map.put("title", WorldHandler.getSphere(i).getSname());
map.put("img", String.valueOf(R.drawable.map_server2));
listItem.add(map);
}
}