surtic
Erfahrenes Mitglied
- 19
Guten Abend Zusammen,
Ich bin gerade dabei meine ListView etwas besser zu gestalten als nur den üblichen String
Hab nun ein paar Tutorials angeschaut und auch schon sonst in Foren geschaut, aber irgend wie sehe ich nicht wo mein Fehler ist. Ich hoffe eure geschulten Augen sehen es und können mir den Tipp geben
Hier der Aufruf aus meiner MainActivity
main.xml
list_item.xml
RssItemAdapter
Ich denke mal das der Knopf irgend wo im Adapter ist, da mir dort beim Code das Layout (list_item) nicht gefunden wird.
Dadurch finde ich natürlich auch diese dann nicht wo es auch wieder Rot ist
Ich freue mich über jeden schupser in die richtige Richtung.
Danke für eure Zeit.
Ich bin gerade dabei meine ListView etwas besser zu gestalten als nur den üblichen String
Hab nun ein paar Tutorials angeschaut und auch schon sonst in Foren geschaut, aber irgend wie sehe ich nicht wo mein Fehler ist. Ich hoffe eure geschulten Augen sehen es und können mir den Tipp geben
Hier der Aufruf aus meiner MainActivity
Code:
setContentView(R.layout.main);
this.listView = (ListView) findViewById(R.id.list_view);
this.listView.setAdapter(new RssItemAdapter(this, android.R.layout.simple_list_item_1, this.rssHandler.getRssItems() ));
main.xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<ListView
android:id="@+id/list_view"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
list_item.xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TableLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/list_item_table">
<TableRow android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/list_item_table_row_1">
<TextView android:textAppearance="?android:attr/textAppearanceMedium" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="15px" android:layout_marginRight="15px" android:id="@+id/list_item_title"></TextView>
</TableRow>
<TableRow android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/list_item_table_row_2">
<TextView android:textAppearance="?android:attr/textAppearanceSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="15px" android:layout_marginRight="15px" android:id="@+id/list_item_date"></TextView>
</TableRow>
<TableRow android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/list_item_table_row_3">
<TextView android:textAppearance="?android:attr/textAppearanceMedium" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="15px" android:layout_marginRight="15px" android:id="@+id/list_item_description"></TextView>
</TableRow>
</TableLayout>
</LinearLayout>
RssItemAdapter
Code:
package ch.nonameweb.android.ogame.rss;
import java.util.ArrayList;
import java.util.List;
import android.R;
import android.content.Context;
import android.net.NetworkInfo.DetailedState;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;
public class RssItemAdapter extends ArrayAdapter<RssItem>{
protected ArrayList<RssItem> rssItems;
public RssItemAdapter(Context context, int textViewResourceId, ArrayList<RssItem> rssItems) {
super(context, textViewResourceId, rssItems);
this.rssItems = rssItems;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = convertView;
if (view == null) {
LayoutInflater vi = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = vi.inflate(R.layout.list_item, null);
}
RssItem item = rssItems.get(position);
if ( item != null ) {
TextView title = (TextView) view.findViewById(R.layout.list_item_title);
TextView date = (TextView) view.findViewById(R.id.list_item_date);
TextView description = (TextView) view.findViewById(R.id.list_item_description);
if ( title != null ) {
title.setText( item.getTitle() );
}
if ( date != null ) {
date.setText( item.getDate().toString() );
}
if ( description != null ) {
description.setText( item.getDescription() );
}
}
return v;
}
}
Ich denke mal das der Knopf irgend wo im Adapter ist, da mir dort beim Code das Layout (list_item) nicht gefunden wird.
Code:
view = vi.inflate(R.layout.list_item, null);
Dadurch finde ich natürlich auch diese dann nicht wo es auch wieder Rot ist
Code:
TextView title = (TextView) view.findViewById(R.layout.list_item_title);
TextView date = (TextView) view.findViewById(R.id.list_item_date);
TextView description = (TextView) view.findViewById(R.id.list_item_description);
Ich freue mich über jeden schupser in die richtige Richtung.
Danke für eure Zeit.