F
flxmd
Neues Mitglied
- 0
Hallo erstmal zusammen!
Hab vor kurzem angefangen mich mit Android zu beschäftigen. Arbeite gerade verschiedene Themen aus einem Buch durch und bin gerade bei CustomAdapter für Listviews.
Mein Problem ist, dass wenn ich die App starte er das ganze auf's Gerät überträgt und dann kommt "Leider wurde das Programm beendet. Im ErrorLog stehen keine Fehler. Ich bin ein bisschen ratlos. Vielleicht könnt ihr mal über den Quelltext schauen.
Code in MainActivity.java
Code MenueAdapter.java
Code Menue.java
Code mainview_menue_item_row.xml
Hab vor kurzem angefangen mich mit Android zu beschäftigen. Arbeite gerade verschiedene Themen aus einem Buch durch und bin gerade bei CustomAdapter für Listviews.
Mein Problem ist, dass wenn ich die App starte er das ganze auf's Gerät überträgt und dann kommt "Leider wurde das Programm beendet. Im ErrorLog stehen keine Fehler. Ich bin ein bisschen ratlos. Vielleicht könnt ihr mal über den Quelltext schauen.
Code in MainActivity.java
Code:
Menue menue_data[] = new Menue[] {
new Menue(R.drawable.note_icon, "Notiz 1"),
new Menue(R.drawable.recipe_icon, "Rezept 1"), };
MenueAdapter adapter = new MenueAdapter(this,
R.layout.mainview_menue_item_row, menue_data);
listView1 = (ListView) findViewById(R.id.listView1);
listView1.setAdapter(adapter);
listView1.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Object listItem = listView1.getItemAtPosition(position);
String input = ((Menue) listItem).title;
Toast.makeText(getApplicationContext(), input,
Toast.LENGTH_SHORT).show();
}
});
Code MenueAdapter.java
Code:
package com.example.noteboxes;
import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;
public class MenueAdapter extends ArrayAdapter<Menue> {
Context context;
int layoutResourceId;
Menue data[] = null;
public MenueAdapter(Context context, int layoutResourceId, Menue[] data) {
super(context, layoutResourceId, data);
this.context = context;
this.data = data;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View row = convertView;
MenueHolder holder = null;
if (row == null) {
LayoutInflater inflater = ((Activity) context).getLayoutInflater();
row = inflater.inflate(layoutResourceId, parent, false);
holder = new MenueHolder();
holder.imgIcon = (ImageView) row.findViewById(R.id.menueicon);
holder.txtTitle = (TextView) row.findViewById(R.id.txtTitle);
row.setTag(holder);
} else {
holder = (MenueHolder) row.getTag();
}
Menue menue = data[position];
holder.txtTitle.setText(menue.title);
holder.imgIcon.setImageResource(menue.Icon);
return row;
}
static class MenueHolder {
ImageView imgIcon;
TextView txtTitle;
}
}
Code Menue.java
Code:
package com.example.noteboxes;
public class Menue {
public int Icon;
public String title;
public Menue() {
super();
}
public Menue(int icon, String title) {
super();
Icon = icon;
this.title = title;
}
@Override
public String toString() {
return this.title;
}
}
Code mainview_menue_item_row.xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TableLayout
android:id="@+id/tableLayout1"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_marginBottom="0.0dp"
android:layout_marginTop="0.0dp">
<TableRow
android:id="@+id/tableRow1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="2dp"
android:layout_marginRight="2dp"
android:paddingBottom="0.0dp"
android:paddingTop="0.0dp" >
<ImageView
android:id="@+id/menueicon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:adjustViewBounds="true"
android:paddingBottom="0.0dp"
android:paddingTop="0.0dp" />
</TableRow>
<TableRow
android:id="@+id/tableRow2"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/txtTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:paddingRight="10dip"
android:textColor="#263fff"
android:textSize="12dp"
android:textStyle="bold" />
</TableRow>
</TableLayout>
</LinearLayout>