Search code examples
javaandroidxmlandroid-arrayadapter

How to set parent background on ArrayAdapter


I am building an app and have some difficulties on setting backround on a array adapter, hope someone can help!

public class ListAdapter extends ArrayAdapter {

    // List context
    private final Context context;
    // List values
    private final List<RssItem> items;

    public ListAdapter(Context context, List<RssItem> items) {
        // Set the layout for each item
        super(context, R.layout.item, items);
        this.context = context;
        this.items = items;


    }


    @Override
    public View getView(int position, View convertView, ViewGroup parent) {


        // Build each element of the list


        LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);


        View rowView = inflater.inflate(R.layout.item, parent, false);


        // Populate each layout element with the data from the items list
        TextView itemPos = (TextView) rowView.findViewById(R.id.position_aa);
        itemPos.setText(items.get(position).getPosition());

        // Populate each layout element with the data from the items list
        TextView itemTitle = (TextView) rowView.findViewById(R.id.textViewTitle);
        itemTitle.setText(items.get(position).getTitle());


        TextView itemPublishDate = (TextView) rowView.findViewById(R.id.textViewPublishDate);
        itemPublishDate.setText(items.get(position).getPublishDate());

        // Set the icon base on the post's category
        ImageView icon = (ImageView) rowView.findViewById(R.id.imageViewCategoryIcon);
        icon.setImageResource(CategoryMapper.getIconIdForCategory(items.get(position).getCategory()));


        return rowView;

    }
}

And this is the item.xml

<?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"

    android:id="@+id/bg">

    <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:background="#0FFF3300"
            android:id="@+id/item">

        <TableLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >

            <TableRow
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" >

                <ImageView
                    android:id="@+id/imageViewCategoryIcon"
                    android:layout_width="100dp"
                    android:layout_height="100dp"
                    android:padding="5dp"
                    android:src="@drawable/ic_launcher" />

                <TableLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" >

                    <TableRow
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:minWidth="1dp">

                        <TextView
                            android:id="@+id/textViewTitle"
                            android:layout_width="270dp"
                            android:layout_height="wrap_content"
                            android:padding="5dp"
                            android:text="[TITLE-GOES-HERE]"
                            android:textColor="#000"
                            android:textStyle="bold"/>

                    </TableRow>

                    <TableRow
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content" >

                        <TextView
                            android:id="@+id/textViewPublishDate"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:padding="5dp"
                            android:textColor="#555"
                            android:text="[PUB-DATE-GOES-HERE]"
                            android:textAppearance="?android:attr/textAppearanceSmall" />

                    </TableRow>

                    <TableRow
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content" >

                        <TextView
                            android:id="@+id/position_aa"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:padding="5dp"
                            android:textColor="#555"
                            android:text="[AA-GOES-HERE]"
                            android:textAppearance="?android:attr/textAppearanceSmall" />
                    </TableRow>


                </TableLayout>

            </TableRow>

        </TableLayout>

    </LinearLayout>


</LinearLayout>

Here I deploy some rss data into RowViews Via the list adapter class, but how can I set a parent layout so I can give a fixed upon scroll background?

Thanks in advance

P.S I`m stuck for a day at this......


Solution

  • Set background color to your ListItem like

    rowView.setBackgroundResource(R.color.yourcolor);