P
Panzenbaby
Neues Mitglied
- 0
Hi.
Ich bin noch ziemlich unerfahren, was das programmieren von Android-Apps an geht. Ich habe erst diese Woche angefangen meine erste App zu schreiben.
Ich hatte mir vorgestellt, dass ich in meiner MainActivity einen Banner mit verschiedenen Bildern laufen lasse.Das aktuelle Bild soll sich dann nach z.B. 5sec ändern. Nun hab ich mir gedacht ich nehme einfach eine ImageView und änder aller 5 sec. die Resource, welche in einer HashMap liegt und durch eine Zufallszahl bestimmt wird. Um das ganze zu testen hab ich mal 2 Resourcen eingefügt und das Ändern der Recource so verändert, dass jede Resource genau ein mal eingefügt wird. Allerdings wird das Bild in der App erst angezeigt, wenn das Ändern der Resource beendet wurde. Kann mir jemand sagen woran das liegt?
Ich dachte erst, dass es daran liegt, dass ich es in die Methode onCreate() geschrieben habe und in dieser die View ja erst gezeichnet wird. Hab das dann noch in onStart() versucht aber das ging auch nicht.
Wie gesagt ich bin noch ziemlich neu in diesem Gebiet und würde mich freuen, wenn mir jemand weiterhelfen könnte.
Ich bin noch ziemlich unerfahren, was das programmieren von Android-Apps an geht. Ich habe erst diese Woche angefangen meine erste App zu schreiben.
Ich hatte mir vorgestellt, dass ich in meiner MainActivity einen Banner mit verschiedenen Bildern laufen lasse.Das aktuelle Bild soll sich dann nach z.B. 5sec ändern. Nun hab ich mir gedacht ich nehme einfach eine ImageView und änder aller 5 sec. die Resource, welche in einer HashMap liegt und durch eine Zufallszahl bestimmt wird. Um das ganze zu testen hab ich mal 2 Resourcen eingefügt und das Ändern der Recource so verändert, dass jede Resource genau ein mal eingefügt wird. Allerdings wird das Bild in der App erst angezeigt, wenn das Ändern der Resource beendet wurde. Kann mir jemand sagen woran das liegt?
Ich dachte erst, dass es daran liegt, dass ich es in die Methode onCreate() geschrieben habe und in dieser die View ja erst gezeichnet wird. Hab das dann noch in onStart() versucht aber das ging auch nicht.
Wie gesagt ich bin noch ziemlich neu in diesem Gebiet und würde mich freuen, wenn mir jemand weiterhelfen könnte.
Code:
import java.util.HashMap;
import java.util.Map;
public class MainActivity extends Activity {
/** Called when the activity is first created. */
ImageView banner;
Map<Integer,Integer> pictureList= new HashMap<Integer,Integer>();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
banner = (ImageView) findViewById(R.id.banner);
initiateList(pictureList);
aktiviteBanner(banner, pictureList);
}
public void initiateList(Map<Integer, Integer> pictureList) {
pictureList.put(0, R.drawable.ic_launcher);
pictureList.put(1, R.drawable.pic1);
}
public void aktiviteBanner(final ImageView banner,final Map<Integer,Integer> pictureList){
int i=0,random;
while(i<=1){
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
random = (int) Math.random() % 2;
banner.setImageResource(pictureList.get(i));
i++;
}
}
}