Je ne peux pas cliquer sur le ListView dans android?

J'ai fait une application à l'aide de synchronisation des contacts. Je liste les suivantes infos de contact avec photo, nom et nombre. J'ai réussi à faire la liste de toutes ces choses dans une coutume ListView, mais je ne peux pas cliquer sur le ListView. Il ressemble verrouillé, Impossible de cliquer dessus.

Mais j'ai fait une même procédure pour une autre activité. L'aide personnalisée ListView mais je peux sur ce point de vue et il fonctionne très bien.

Quel est le problème? voici mon exemple de codage:

    ListView settingsList = (ListView) findViewById(R.id.manage_track_listView);
    ArrayList<ContactList> MySettingsList = new ArrayList<ContactList>();

    ContactList setting1 = new ContactList("contact name 1", "Number 1", null);
    ContactList setting2 = new ContactList("contact name 2", "Number 2", null);
    ContactList setting3 = new ContactList("contact name 3", "Number 3", null);

    MySettingsList.add(setting1);
    MySettingsList.add(setting2);
    MySettingsList.add(setting3);

    ContactList list[] = new ContactList[MySettingsList.size()];

    for(int i=0;i<MySettingsList.size();i++) {

        ContactList mySettings = MySettingsList.get(i);
        list[i] = new ContactList(mySettings.getName(), mySettings.getNumber(), mySettings.getImageIcon());
    }

    ContactListAdapter adapter = new ContactListAdapter(this, R.layout.manage_track_list_custom_view, list);
    settingsList.setAdapter(adapter);
    System.out.println("before listener");
    settingsList.setOnItemClickListener(new OnItemClickListener() {

        @Override


        public void onItemClick(AdapterView<?> parent, View view, int position,
                long id) {
            //TODO Auto-generated method stub

            System.out.println("Clicked " + position);
        }
    });
    System.out.println("after listener");

Ici ContactList est une classe qui a un nom de contact, nombre, et byte[] pour imageBlob. Si l'image est nulle, je définir la valeur par défaut ic_launcher comme image de contact. La classe d'adaptateur est:

public class ContactListAdapter extends ArrayAdapter<ContactList> {
Context context;
int layoutResourceId;
ContactList objects[] = null;
View row;
public ContactListAdapter(Context context, int layoutResourceId, ContactList[] objects) {
super(context, layoutResourceId, objects);
//TODO Auto-generated constructor stub
this.context = context;
this.layoutResourceId = layoutResourceId;
this.objects = objects; 
System.out.println(objects[1].getName());
System.out.println(objects[1].getNumber());
System.out.println(objects[1].getImageIcon());
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
//TODO Auto-generated method stub
row = convertView;
final ContactListHolder holder;
if ( row == null ) {
LayoutInflater inflater = ((Activity)context).getLayoutInflater();
row = inflater.inflate(layoutResourceId, parent, false);
holder = new ContactListHolder();
holder.image    = (ImageView) row.findViewById(R.id.contactImage);
holder.name     = (TextView) row.findViewById(R.id.contactName);
holder.number   = (TextView) row.findViewById(R.id.contactNumber);
holder.check    = (CheckBox) row.findViewById(R.id.selectedContact);
row.setTag(holder);
} else {
holder = (ContactListHolder)row.getTag();
}
ContactList contact = objects[position];
if(contact.imageIcon != null) {
Bitmap imgBitmap = BitmapFactory.decodeByteArray(contact.imageIcon, 0, contact.imageIcon.length);
holder.image.setImageBitmap(imgBitmap);
} else {
holder.image.setImageResource(R.drawable.ic_launcher);
}
holder.name.setText(contact.name);
holder.number.setText(contact.number);
holder.check.setChecked(objects[position].isSelected());    
return row;
}
static class ContactListHolder {
ImageView image;
TextView name;
TextView number;
CheckBox check;
}
}

J'Ai plus de 100 contacts donc ajouté à seulement 3 objets. Dans cette liste de contacts que j'ai réussi à recevoir un contact de l'image, le nom, le numéro.

Quel est le problème de la ListView est incapable de clic? J'espère que l'une quelconque de u va me guider. Merci à l'avance.


Merci à tous. maintenant obtenu le résultat par le simple ajout de android:focusable="false" à mes enfants tous les points de vue. merci pour ur guidages.

OriginalL'auteur Amarnath | 2012-06-26