web-gelistirme-sc.com

Tıklayın Listitem Listview android üzerinde çalışmıyor

Android listview ile ListActivity ile uyguladım. Burada, liste maddesine tıkladığımda, flaş rengi de gelmediğinde, turuncu renk olan hiçbir işlem yapılmaması sorunu var. Öyleyse soruma bu nazik cevap hakkında bir fikrin var mı? 

@Override
protected void onListItemClick(ListView l, View v, int position, long id) 
{
    super.onListItemClick(l, v, position, id);
    Toast.makeText(getApplicationContext(), "msg msg", Toast.LENGTH_SHORT)
            .show();

}

Bu kodu Ana Liste Etkinliğine de koydum.

31
Rajesh Rajaram

Burada dikkat etmeniz gereken ilk şey, ImageButtons öğenizde Düğmeler veya ListView öğeleri gibi Tıklanabilir öğeler olduğunda, tıklama olaylarının denetimini ele geçirmeleridir. Böylece ListView, click etkinliğini kabul etme şansına sahip olmayacak. 

Yapmanız gereken tek şey, ListView'unuzdaki focusable veya Button için ImageButton niteliğini false olarak ayarlamaktır. Ancak yine de sorunsuz çalışırlar ve ayrıca ListView'ünüz onListItemClick da çalışır. 

Bunu dene, 

        <Button  Android:id="@+id/textsize_increaser"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_toRightOf="@+id/back_button"
        Android:focusable="false"
        Android:text=" A + "/>

İşte bu Android:focusable="false" 'u ekledim ve iyi çalışıyor. dene.

113
Andro Selva

ListView seçim modunu TEKLİ olarak ayarladınız mı:

     listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);

Ayrıca, liste öğesinde tıklanabilir bir görüntü veya metin görünümü veya düğmesi varsa, onları odaklanamaz hale getirin (Adaptör sınıfınızda):

        yourButton.setFocusable(false);
        yourButton.setFocusableInTouchMode(false);
9
Yogesh Somani

Özel Adaptör kullanıyor musunuz? ve düğme ya da liste listesi görünüm odağını alt öğe olarak yiyen herhangi bir görünümle düzeneğin şişirilmesi, sonra açıkça çalışmaz. ayarladığınızdan emin olun 

    Android:focusable="false"

xml dosyasında böyle bir görünüme. Umarım bu sizin için çalışır.

4
vinaykumar

Bunu listactivity Java dosyanızda ayarlayın

listview1.setFocusable(false);
4
Mehul

Eclipse, liste görünümü için kullanılan xml mizanpajındaki TextView'lerime textIsSelectable="true" eklememi önerdi.

Peki, listedeki öğeleri tıklamak istiyorsanız, o etiketleri eklememelisiniz.

1
Mika

bir çözüm için bu gönderiye bakın:

Listitem Listview Android'de Tıklama çalışmıyor

View v = parent.getChildAt(position);
parent.requestChildFocus(v,view);
v.setBackground(res.getDrawable(R.drawable."Some drawable for clicked row"));

int count = parent.getChildCount();
for(int i=0; i<count; i++)
{
   if(i!=position)
   {
     v = parent.getChildAt(i);
     v.setBackground(res.getDrawable(R.drawable."some drawable for not clicked row));
   }
}
0
Wes

Aslında, çocukların görüşlerinin odaklanmasını önlemek için kullanılan bir parametre vardır, yalnızca üst düzende aşağıdakileri ekleyin:

Android:descendantFocusability="blocksDescendants"

Belgelerin açıkladığı gibi:

ViewGroup torunlarının odaklanmasını engelleyecektir.

0
Yoann Hercouet
listview.setOnItemClickListener(new OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View v, int pos,
                    long id) {
                Toast.makeText(v.getContext(), exm.get(pos).getDefinition(),
                        Toast.LENGTH_SHORT).show();


            }
        });
0
Rons Jackos
listItemButton.setFocusable(false);
listItemButton.setFocusableInTouchMode(false);

Yukarıdakileri adaptörünüz içinde ayarlayın. Bu workiXMLin değilXML

0
Arun Robinson

olduğundan emin ol 

  1. Liste Görünümü ile Kaydırma Görünümü'nü kullanmama
  2. Liste Görünümü için satır öğesi düzeninizde Kaydırma Görünümü'nü kullanmama

Scroll View yukarıdakilerden herhangi birinde mevcutsa, onu kaldırın.

0
Dhaval Jotaniya