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:
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.
 

Zurück
Oben