ImageView in FrameLayout konvertieren

  • Antworten:10
Julian Krebs
  • Forum-Beiträge: 22

18.02.2013, 17:54:56 via Website

der Java Code der Probleme bereitet:
1private void hindernissEinblenden() {
2
3 ImageView hinderniss1 = new ImageView(this);
4 hinderniss1.setImageResource(R.drawable.hindernis_rechts);
5 int hinderniss_breite = (int) Math.round(massstab * 50);
6 int hinderniss_hoehe = (int) Math.round(massstab * 50);
7 FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(hinderniss_breite, hinderniss_hoehe);
8 params.gravity = Gravity.RIGHT;
9 params.topMargin = 100;
10
11 spielbereich.addView(hinderniss1, params);
12
13 }
14
15 private void hindernissBewegen() {
16
17 int nummer = 0;
18 while(nummer<spielbereich.getChildCount()){
19 ImageView hinderniss1 = (ImageView)spielbereich.getChildAt(nummer);
20 FrameLayout.LayoutParams params = (android.widget.FrameLayout.LayoutParams)hinderniss1.getLayoutParams();
21 params.topMargin +=10;
22 hinderniss1.setLayoutParams(params);
23
24 nummer++;
25 Log.d("muecke","Die Mückenbewegen Methode wurde aufgerufen");
26
27 }
Die Fehlermeldung:
1

Antworten
Julian Krebs
  • Forum-Beiträge: 22

18.02.2013, 18:00:56 via Website

Warum? Darf man das nicht?

Antworten
Julian Krebs
  • Forum-Beiträge: 22

18.02.2013, 18:08:37 via Website

Ja es ist aus dem Buch....

— geändert am 18.02.2013, 18:08:57

Antworten
Julian Krebs
  • Forum-Beiträge: 22

18.02.2013, 18:10:41 via Website

02-18 16:58:46.644: E/AndroidRuntime(2674): java.lang.RuntimeException: Unable to start activity ComponentInfo{de.strommanagergame.balken/de.strommanagergame.balken.GameActivity}: java.lang.ClassCastException: android.widget.FrameLayout cannot be cast to android.widget.ImageView

Antworten
Julian Krebs
  • Forum-Beiträge: 22

18.02.2013, 18:12:51 via Website

Hey cool, ich bin 14 und kommt aus wasserburg bei münchen.....

Antworten
Julian Krebs
  • Forum-Beiträge: 22

18.02.2013, 18:13:50 via Website

ok mach ich

Antworten
Julian Krebs
  • Forum-Beiträge: 22

18.02.2013, 18:18:30 via Website

hinderniss1.setImageResource(R.drawable.hindernis_rechts);
wie kann ich die zeile mit relativeLayout umschreiben....srry hab noch nie mit relativeLayout Programmiert...

Antworten
Julian Krebs
  • Forum-Beiträge: 22

18.02.2013, 18:21:55 via Website

ach ja genau

Antworten
Julian Krebs
  • Forum-Beiträge: 22

18.02.2013, 18:23:11 via Website

muss ich an der zeile noch was verändern?
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(hinderniss_breite, hinderniss_hoehe);

Antworten
Julian Krebs
  • Forum-Beiträge: 22

18.02.2013, 18:24:57 via Website

ne funktioniert leider
nicht

Antworten
Julian Krebs
  • Forum-Beiträge: 22

18.02.2013, 18:44:17 via Website

Doch der Code in der Whileschleife wird schon aufgeführt, weil nummer 0 ist und spielbereich.getChildCount() 1 ist.....
Das heißt nummer ist kleiner als getChildCount und somit wird die schleife ausgeführt....
Uwe Post hat das auch so gemacht

— geändert am 18.02.2013, 18:46:19

Antworten