Android ImageView zeichnen

daniet

Mitglied
Ich lerne gerade Androidprogrammierung mit dem Buch "Android-Apps entwickeln". Mit Java habe ich schon etwas Erfahhrung.
Als ich den Programmcode, den ich eigentlich nur abgeschrieben hab, ausführen wollte, stürzte das Programm dauernd ab.
Dasselbe passiert auch bei folgendem Beispielprogramm:
[JAVA]
...
public class MainActivity extends Activity
{

private ImageView iv;
private FrameLayout bereich;
private float massstab;
private int breite, hoehe;
private Random zufallsgenerator;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
zufallsgenerator = new Random();
bereich = (FrameLayout) findViewById(R.id.bereich);
massstab = getResources().getDisplayMetrics().density;
breite = bereich.getWidth();
hoehe = bereich.getHeight();
eineMueckeZeichnen();

}

public void eineMueckeZeichnen()
{
int breite_muecke = (int) Math.round(massstab*50);
int hoehe_muecke = (int) Math.round(massstab*42);
int links = zufallsgenerator.nextInt( breite-breite_muecke);
int oben = zufallsgenerator.nextInt( hoehe-hoehe_muecke );
iv = new ImageView(this);
iv.setImageResource(R.drawable.icon);
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(breite_muecke, hoehe_muecke);
params.leftMargin = links;
params.topMargin = oben;
params.gravity = Gravity.TOP + Gravity.START;
iv.setLayoutParams(params);
bereich.addView((ImageView)iv);
}
}
[/code]

Code:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/bereich"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.test.MainActivity" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />

</FrameLayout>

Das Programm stürzt aber nur ab, wenn die Methode eineMückeZeichnen() aufgerufen wird.
Kann mir jemand sagen, wie ich alternativ einen ImageView zu einem Layout hinzufügen kann? Ich will den ImageView nicht über xml hinzufügen, da die Anzahl der Elemente sowie ihre Position variabel sein soll.

Noch ein paar Infos: Ich benutze Eclipse und habe das Programm sowohl auf einem Emulator als auch auf einem echten Gerät getestet.

Vielen Dank schonmal :)

Edit: folgende Fehler werden angezeigt
fehlermeldung.JPG
 
Zuletzt bearbeitet:

daniet

Mitglied
Weis denn keiner eine Antwort? Die Frage müsste ja relativ elementar sein, auch wenn ich nirgends eine Lösung finden konnte...
 

camelCase90

Aktives Mitglied
Hallo,

du übergibst in der Methode anscheinend irgendwo ein falschen Wert.

Da müsste doch irgendwo ne konkrete Zeilenangabe angegeben sein?

Ansonsten hilft debuggen, breakpoints setzen und schauen ob die richtigen Werte übergeben werden.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
missy72 Android ImageView Aus- Einblenden und Ressource ändern Android & Cross-Platform Mobile Apps 1
ImageView wird nicht angezeigt Android & Cross-Platform Mobile Apps 4
I Android Auf ImageView aus einem anderen Thread zugreifen liefert Fehlermeldung (App stürzt ab) Android & Cross-Platform Mobile Apps 5
W Pixel Farbe in eine andere Farbe ändern im ImageView von ein Icon Android & Cross-Platform Mobile Apps 14
W Rand ändern beim ImageView bei Picasso Android & Cross-Platform Mobile Apps 1
W Bild aus dem Internet in View bzw. ImageView laden (Fragment) Android & Cross-Platform Mobile Apps 2
S Image dynamisch anhand von id in ImageView anpassen Android & Cross-Platform Mobile Apps 4
A Android Studio: ImageView verpixelt Android & Cross-Platform Mobile Apps 2
J ImageView: Bilder in niedriger Grafik anzeigen lassen Android & Cross-Platform Mobile Apps 2
Alex/89 ImageView mit einem Bild von der SD Karte füllen Android & Cross-Platform Mobile Apps 5
J ImageView zeigt kein Bild an, Andere Elemente jedoch sichtbar Android & Cross-Platform Mobile Apps 3
M Android ImageView verliert ScaleTyp Android & Cross-Platform Mobile Apps 2
N Save Image to DB and set ImageView Android & Cross-Platform Mobile Apps 1
W ImageView wird nicht angezeigt Android & Cross-Platform Mobile Apps 19
J Android Teile in onDraw() nur einmal zeichnen Android & Cross-Platform Mobile Apps 2
T einen kreis zeichnen.. Android & Cross-Platform Mobile Apps 1
E Android Zeichnen auf Canvas - Teilbereich als Bild speichern Android & Cross-Platform Mobile Apps 3
D List Elemente selbst Zeichnen Android & Cross-Platform Mobile Apps 2

Ähnliche Java Themen

Neue Themen


Oben