ListView with RelativeLayout not highlighting background on press
I want to have a list of elements (using a ListView) and each element in list is styled with a relative layout. Currently, the items are being displayed correctly, however, for some reason the listview items dont glow green when they're clicked. Why is this?

I have removed all code to minimals and it still does this.


**Activity class**


    package com.test;
    
    import android.app.Activity;
    
    public class My_ListView extends Activity
    {
    	private ListView_Adapter listViewAdapter;
    	private ListView listView;
    			
    	@Override
    	protected void onCreate(Bundle savedInstanceState)
    	{
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.my_listview);
    		
    				
    		// initialise the list-view object
    		listViewAdapter = new ListView_Adapter(this);
    		listView = (ListView) findViewById(R.id.listview);
    		listView.setAdapter(listViewAdapter);
    
    
    		for (int i=0;i<20;i++)
    		{
    			listViewAdapter.add("item "+i);
    		}
    		
    	}
    	public void clicked(View v)
    	{
    		v.setBackgroundColor(0xFF0000FF);
    	}
    }


**The listview item adapter class**

    package com.test;
    
    import android.content.Context;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.ArrayAdapter;
    import android.widget.TextView;
    
    public class ListView_Adapter extends ArrayAdapter<String>
    {
    	public ListView_Adapter(Context c)
    	{
    		super(c, R.layout.my_listview_item);
    	}
    
    	@Override
    	public View getView(int position, View convertView, ViewGroup parent)
    	{
    		View row = convertView;
    		StationFinder_ListViewItemHolder holder = null;
    
    		if (row == null)
    		{
    			LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    
    			row = inflater.inflate(R.layout.my_listview_item, parent, false);
    			holder = new StationFinder_ListViewItemHolder(row);
    			row.setTag(holder);
    		}
    		else
    		{
    			holder = (StationFinder_ListViewItemHolder) row.getTag();
    		}
    
    		holder.populateFrom(getItem(position));
    
    		return row;
    	}
    
    	static class StationFinder_ListViewItemHolder
    	{
    		private TextView destination = null;
    
    		StationFinder_ListViewItemHolder(View row)
    		{
    			destination = (TextView) row.findViewById(R.id.text1);
    		}
    
    		void populateFrom(String locationDistance)
    		{
    			destination.setText(locationDistance);
    		}
    
    	}
    }


**my_listview.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:orientation="vertical"
    	>
    		
    	<ListView android:id="@+id/listview"
    		android:layout_width="fill_parent"
    		android:layout_height="fill_parent"
    		/>
    </LinearLayout>

**my_listview_item.xml**


    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout
    	xmlns:android="http://schemas.android.com/apk/res/android"
    	android:layout_width="fill_parent"
    	android:layout_height="wrap_content"
    	android:onClick="clicked"
    	>
     	<TextView android:id="@+id/text1"
     		android:layout_width="wrap_content" 
     		android:layout_height="wrap_content"
     		/>
    </RelativeLayout>


ListView with RelativeLayout not highlighting background on press
===

I want to have a list of elements (using a ListView) and each element in list is styled with a relative layout. Currently, the items are being displayed correctly, however, for some reason the listview items dont glow green when they're clicked. Why is this?

I have removed all code to minimals and it still does this.


**Activity class**


    package com.test;
    
    import android.app.Activity;
    
    public class My_ListView extends Activity
    {
    	private ListView_Adapter listViewAdapter;
    	private ListView listView;
    			
    	@Override
    	protected void onCreate(Bundle savedInstanceState)
    	{
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.my_listview);
    		
    				
    		// initialise the list-view object
    		listViewAdapter = new ListView_Adapter(this);
    		listView = (ListView) findViewById(R.id.listview);
    		listView.setAdapter(listViewAdapter);
    
    
    		for (int i=0;i<20;i++)
    		{
    			listViewAdapter.add("item "+i);
    		}
    		
    	}
    	public void clicked(View v)
    	{
    		v.setBackgroundColor(0xFF0000FF);
    	}
    }


**The listview item adapter class**

    package com.test;
    
    import android.content.Context;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.ArrayAdapter;
    import android.widget.TextView;
    
    public class ListView_Adapter extends ArrayAdapter<String>
    {
    	public ListView_Adapter(Context c)
    	{
    		super(c, R.layout.my_listview_item);
    	}
    
    	@Override
    	public View getView(int position, View convertView, ViewGroup parent)
    	{
    		View row = convertView;
    		StationFinder_ListViewItemHolder holder = null;
    
    		if (row == null)
    		{
    			LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    
    			row = inflater.inflate(R.layout.my_listview_item, parent, false);
    			holder = new StationFinder_ListViewItemHolder(row);
    			row.setTag(holder);
    		}
    		else
    		{
    			holder = (StationFinder_ListViewItemHolder) row.getTag();
    		}
    
    		holder.populateFrom(getItem(position));
    
    		return row;
    	}
    
    	static class StationFinder_ListViewItemHolder
    	{
    		private TextView destination = null;
    
    		StationFinder_ListViewItemHolder(View row)
    		{
    			destination = (TextView) row.findViewById(R.id.text1);
    		}
    
    		void populateFrom(String locationDistance)
    		{
    			destination.setText(locationDistance);
    		}
    
    	}
    }


**my_listview.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:orientation="vertical"
    	>
    		
    	<ListView android:id="@+id/listview"
    		android:layout_width="fill_parent"
    		android:layout_height="fill_parent"
    		/>
    </LinearLayout>

**my_listview_item.xml**


    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout
    	xmlns:android="http://schemas.android.com/apk/res/android"
    	android:layout_width="fill_parent"
    	android:layout_height="wrap_content"
    	android:onClick="clicked"
    	>
     	<TextView android:id="@+id/text1"
     		android:layout_width="wrap_content" 
     		android:layout_height="wrap_content"
     		/>
    </RelativeLayout>

