Android custom ListView unable to click on items

Posted by MattC on Stack Overflow See other posts from Stack Overflow or by MattC
Published on 2009-07-13T18:22:07Z Indexed on 2010/04/02 6:53 UTC
Read the original article Hit count: 1063

Filed under:
|

So I have a custom ListView object. The list items have two textviews stacked on top of each other, plus a horizontal progress bar that I want to remain hidden until I actually do something. To the far right is a checkbox that I only want to display when the user needs to download updates to their database(s). When I disable the checkbox by setting the visibility to Visibility.GONE, I am able to click on the list items. When the checkbox is visible, I am unable to click on anything in the list except the checkboxes. I've done some searching but haven't found anything relevant to my current situation. I found this question but I'm using an overridden ArrayAdapter since I'm using ArrayLists to contain the list of databases internally. Do I just need to get the LinearLayout view and add an onClickListener like Tom did? I'm not sure.

Here's the listview row layout 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="?android:attr/listPreferredItemHeight"
    android:padding="6dip">
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="0dip"
        android:layout_weight="1"
        android:layout_height="fill_parent">
        <TextView
            android:id="@+id/UpdateNameText"
            android:layout_width="wrap_content"
            android:layout_height="0dip"
            android:layout_weight="1"
            android:textSize="18sp"
            android:gravity="center_vertical"
            />
        <TextView
            android:layout_width="fill_parent"
            android:layout_height="0dip"
            android:layout_weight="1"
            android:id="@+id/UpdateStatusText"
            android:singleLine="true"
            android:ellipsize="marquee"
            />
        <ProgressBar android:id="@+id/UpdateProgress" 
        			 android:layout_width="fill_parent" 
        			 android:layout_height="wrap_content"
                     android:indeterminateOnly="false" 
    			     android:progressDrawable="@android:drawable/progress_horizontal" 
    			     android:indeterminateDrawable="@android:drawable/progress_indeterminate_horizontal" 
    			     android:minHeight="10dip" 
    			     android:maxHeight="10dip"    				  
        			 />
    </LinearLayout>
    <CheckBox android:text="" 
    		  android:id="@+id/UpdateCheckBox" 
    		  android:layout_width="wrap_content" 
    		  android:layout_height="wrap_content" 
    		  />
</LinearLayout>

And here's the class that extends the ListActivity. Obviously it's still in development so forgive the things that are missing or might be left laying around:

import java.util.List;

import android.app.ListActivity;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.ListView;
import android.widget.ProgressBar;
import android.widget.TextView;

import com.xxxx.android.R;
import com.xxxx.android.DAO.AccountManager;
import com.xxxx.android.model.UpdateItem;

public class UpdateActivity extends ListActivity {

    AccountManager lookupDb;
    boolean allSelected;
    UpdateListAdapter list;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        lookupDb = new AccountManager(this);
        lookupDb.loadUpdates();

        setContentView(R.layout.update);
        allSelected = false;

        list = new UpdateListAdapter(this, R.layout.update_row, lookupDb.getUpdateItems());
        setListAdapter(list);

  
        

© Stack Overflow or respective owner

Related posts about android

Related posts about java