I'm developing an app for Android in Eclipse. Currently I target API level 3, but I was mistakenly testing on an Android 1.6 emulator (API level 4). On 1.6 it worked fine, but on 1.5 my ListView with CHOICE_MODE_SINGLE does not select items when they are clicked on.
Here's my listview XML:
<ListView 
    android:layout_height="wrap_content" 
    android:layout_width="fill_parent" 
    android:layout_weight="1" 
    android:id="@+id/ListDomains" 
    android:layout_margin="5px" 
    android:choiceMode="singleChoice" 
    android:clickable="false"
    android:focusable="true"
    android:focusableInTouchMode="true"
    android:descendantFocusability="beforeDescendants"
>
</ListView>
Here's the XML for the items in the listview:
<?xml version="1.0" encoding="utf-8"?>
<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="wrap_content" 
    android:id="@+id/domain_list_value"
    android:checkMark="?android:attr/listChoiceIndicatorSingle" 
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:layout_width="fill_parent" 
>
</CheckedTextView>
I created a custom ArrayList adapter to let me customize getView. Here's the code for DomainArrayAdapter:
public class DomainArrayAdapter extends ArrayAdapter<char[]> {
    private LayoutInflater mInflater;
    public DomainArrayAdapter(Context context, int textViewResourceId,
            List<char[]> objects) {     
        super(context, textViewResourceId, objects);    
        mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    }
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        if(convertView == null){
            convertView = mInflater.inflate(R.layout.domain_list, null);
        }
        char[] text = super.getItem(position);
        ((CheckedTextView)convertView).setText(text, 0, text.length);
        return convertView;
    }
}
All of this code works fine compiled against API level 3 and run on an Android 1.6 emulator. However, run against a 1.5 emulator, items in the ListView do not check when clicked on.
Any ideas?
