Hallo miteinander!
Ich schreibe eine App, die folgende Elemente in einer ListView anzeigen soll:
-eine TextView
-eine ImageView
-3 Buttons
Die TextView wird angezeigt, aber die ImageView und die 3 Buttons nicht. Ich denke mal, das hat nichts zu tun mit dem XML-File, aus dem ich die Listenelemente entfalte. Trotzdem hier noch der komplette Text:
Falls es das nicht ist, gehe ich davon aus, dass getView() meines Adapters den Fehler macht:
Entschuldigung wegen des vielen Textes; ich weiss einfach nicht mehr weiter. Besser zu viel als zu wenig Infos. Ich bin sehr froh und dankbar für jede hilfreiche Antwort!
Noch ein schönes Rest-Wochenende!
Ich schreibe eine App, die folgende Elemente in einer ListView anzeigen soll:
-eine TextView
-eine ImageView
-3 Buttons
Die TextView wird angezeigt, aber die ImageView und die 3 Buttons nicht. Ich denke mal, das hat nichts zu tun mit dem XML-File, aus dem ich die Listenelemente entfalte. Trotzdem hier noch der komplette Text:
Java:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:orientation="horizontal">
<TextView android:id="@+id/textview"
android:text=""
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<ImageView
android:id="@+id/img"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="visible"
/>
<Button android:id="@+id/change1"
android:text="@string/change"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="visible"
/>
<Button android:id="@+id/change2"
android:text="@string/delete"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<Button android:id="@+id/select"
android:text="@string/select"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>
Falls es das nicht ist, gehe ich davon aus, dass getView() meines Adapters den Fehler macht:
Java:
public View getView(int position, View convertView, ViewGroup parent) {
//Build View
Log.d(TAG, "getView(" + position + ", " + convertView + ", " + parent +")");
if(convertView==null){
convertView=inflator.inflate(R.layout.selection, null);
}
if(data!=null){
//setText
Log.d(TAG, "data!=null");
TextView textview=(TextView) convertView.findViewById(R.id.textview);
String text=context.getString(R.string.img_name /*, position.toString()*/);
Log.d(TAG, "textview.setText()");
textview.setText(text);
//getImage
Bitmap img=null;
if(getItem(position)!=null){
img=((WallpaperSelection)getItem(position)).getImg();
Log.d(TAG, "img geladen.");
}
//setImage
if(img!=null){
ImageView imageview=(ImageView) convertView.findViewById(R.id.img);
imageview.setImageBitmap(img);
Log.d(TAG, "imageview.setImageBitmap(img)");
}else{
ImageView imageview=(ImageView) convertView.findViewById(R.id.img);
imageview.setImageResource(R.drawable.ic_launcher);
Log.d(TAG, "imageview.setImageResource(R.drawable.ic_launcher)");
}
//set Listeners
Log.d(TAG, "Change Button");
Button buttonc=(Button) convertView.findViewById(R.id.change1);
buttonc.setOnClickListener(new OnClickListener(){
public void onClick(View v){
//change this image
}
});
Log.d(TAG, "Delete Button");
Button buttond=(Button) convertView.findViewById(R.id.change2);
buttond.setOnClickListener(new OnClickListener(){
public void onClick(View v){
//delete this image
}
});
Log.d(TAG, "New Button");
Button buttonn=(Button) convertView.findViewById(R.id.select);
buttonn.setOnClickListener(new OnClickListener(){
public void onClick(View v){
//insert new image after this one
}
});
//return the view
Log.d(TAG, "return convertView");
return convertView;
}else{
//not possible
return null;
}
}
Noch ein schönes Rest-Wochenende!