The view I would like to have in an Adapter is this:
viewlayout.xml
Using xml Syntax Highlighting
- <?xml version="1.0" encoding="utf-8"?>
- <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent" android:layout_height="fill_parent">
- <TableRow>
- <ImageView android:id="@+id/image1" android:layout_width="wrap_content"
- android:layout_height="wrap_content" android:layout_gravity="left"></ImageView>
- <LinearLayout android:orientation="vertical">
- <TextView android:id="@+id/text1" android:layout_width="wrap_content"
- android:layout_height="wrap_content" android:textSize="20sp"
- android:textStyle="bold" android:layout_gravity="center_horizontal">
- </TextView>
- <TextView android:id="@+id/text2" android:layout_width="wrap_content"
- android:layout_height="wrap_content" android:textSize="16sp"
- android:textStyle="italic" android:layout_gravity="center_horizontal">
- </TextView>
- </LinearLayout>
- <ImageView android:id="@+id/image2" android:layout_width="wrap_content"
- android:layout_height="wrap_content" android:layout_gravity="right"></ImageView>
- </TableRow>
- </TableLayout>
Parsed in 0.004 seconds, using GeSHi 1.0.8.4
the constructor for the item is this:
Item.java
Using java Syntax Highlighting
- public class Item {
- private Drawable firstIcon;
- private String name;
- private String date;
- private Drawable lastIcon;
- public Drawable getFirstIcon() {
- return firstIcon;
- }
- public void setFirstIcon(Drawable firstIcon) {
- this.firstIcon = firstIcon;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public String getDate() {
- return date;
- }
- public void setDate(String date) {
- this.date = date;
- }
- public Drawable getLastIcon() {
- return lastIcon;
- }
- public void setLastIcon(Drawable lastIcon) {
- this.lastIcon = lastIcon;
- }
- public Item(Drawable firstIcon, String name, String date, Drawable lastIcon) {
- super();
- this.firstIcon = firstIcon;
- this.name = name;
- this.date = date;
- this.lastIcon = lastIcon;
- }
- }
Parsed in 0.033 seconds, using GeSHi 1.0.8.4
The adapter is this:
Using java Syntax Highlighting
- public class ItemAdapter extends BaseAdapter {
- private Context mContext;
- private List<Item> mItems = new ArrayList<Item>();
- public ItemAdapter(Context ctx) {
- mContext = ctx;
- }
- public void addItem(Item it) {
- mItems.add(it);
- }
- public void setListItems(List<Item> lit) {
- mItems = lit;
- }
- @Override
- public int getCount() {
- return mItems.size();
- }
- @Override
- public Object getItem(int arg0) {
- return mItems.get(arg0);
- }
- @Override
- public long getItemId(int arg0) {
- return arg0;
- }
- public View getView(int position, View convertView, ViewGroup parent) {
- ItemView btv;
- btv = new ItemView(mContext, mItems.get(position));
- return btv;
- }
- }
Parsed in 0.032 seconds, using GeSHi 1.0.8.4
and the View that I think it has the problem is this:
ItemView.java
Using java Syntax Highlighting
- public class ItemView extends LinearLayout {
- private ImageView firstIcon;
- private TextView name;
- private TextView date;
- private ImageView lastIcon;
- public ItemView(Context ctx, Item vmi1) {
- super(ctx);
- this.setOrientation(HORIZONTAL);
- firstIcon = new ImageView(ctx);
- firstIcon.setImageDrawable(vmi1.getFirstIcon());
- addView(firstIcon, new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
- name = new TextView(ctx);
- name.setText(vmi1.getName());
- addView(name, new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
- date = new TextView(ctx);
- date.setText(vmi1.getDate());
- date.setTextSize(10);
- date.setGravity(Gravity.RIGHT);
- addView(date, new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
- lastIcon = new ImageView(ctx);
- lastIcon.setImageDrawable(vmi1.getLastIcon());
- addView(lastIcon, new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
- }
- public void setFirstIcon(ImageView firstIcon) {
- this.firstIcon = firstIcon;
- }
- public void setName(TextView name) {
- this.name = name;
- }
- public void setDate(TextView date) {
- this.date = date;
- }
- public void setLastIcon(ImageView lastIcon) {
- this.lastIcon = lastIcon;
- }
Parsed in 0.037 seconds, using GeSHi 1.0.8.4
But I do not know how to connect the View with the layout xml I want to use...
What do I need to change?


