2013-08-27 27 views
3

嗨。通過下面列出的代碼,我的列表視圖項目不會以任何方式響應點擊。請有人幫助我嗎?提前致謝。點擊ListView的列表項沒有反應

public class ListaActivity extends Activity{ 

public final static String EXTRA_MESSAGE = "com.example.provacomunicazione.MESSAGE"; 
    @Override 
     public void onCreate(Bundle savedInstanceState) 
     {super.onCreate(savedInstanceState); 
      setContentView(R.layout.lsta); 
      Resources res = getResources(); 
      String[] Authors = res.getStringArray(R.array.Lista_Nomi_E_Cognomi_Autori); 
      ArrayList<String> Autori = new ArrayList<String>(); 
      for (String temp:Authors) 
     {Autori.add(temp);} 
     Collections.sort(Autori); 
     ArrayList<String> AutoriLetteraSelezionata = new ArrayList<String>(); 
     for (String temp:Autori) 
     {if (temp.charAt(0)=='A'){AutoriLetteraSelezionata.add(temp);}} 
     ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,R.layout.textviewitem, AutoriLetteraSelezionata); 
     ListView listView = (ListView) findViewById(R.id.listView1); 
      listView.setAdapter(adapter); 
      listView.setClickable(true); 
      listView.setOnItemClickListener(new OnItemClickListener() { 

       @Override 
       public void onItemClick(AdapterView<?> parent, View view, int position, 
         long id) { 

     CharSequence autore = "("+((TextView)view).getText()+")"; 

     Intent i = new Intent(ListaActivity.this, SecondaryActivity.class); 
        i.putExtra(EXTRA_MESSAGE, autore); 
        startActivity(i); 
       } 
      }); 

}}

+0

你應該刪除這一行:listView.setClickable(true); –

+0

謝謝,但我已經嘗試過,但它無法正常工作,但你說得對,它很有用 –

回答

33

您應該對所有孩子的定義對象在項目列表視圖(TextView的,ImageView的等):

android:clickable="false" 
android:focusable="false" 
android:focusableInTouchMode="false" 

而對於根項目的RelativeLayout/LinearLayout等等,定義如下:

android:clickable="false" 
android:descendantFocusability="blocksDescendants" 
android:focusable="false" 
android:focusableInTouchMode="false" 

如果你不會定義這些,他們將「捕捉」點擊事件。 如果你有一個自定義的ListView適配器,只檢查是否覆蓋:

@Override 
public boolean isEnabled(int position) 
{ 
    return true; 
} 
+0

你太棒了!有用! 20分鐘內解決!非常感謝。 –

+0

工作就像一個魅力。謝謝! –

+0

哇,我有另一個自定義適配器的點擊工作正常,但另一個名單需要這個工作。奇怪,但很高興,它的工作:D –

-3

在客戶項目,

集的每一個元素

android:clickable="true" 
android:focusable="false" 

作品對我來說

0

在我的情況實際上是一個ListView包含HorizontalScrollView s。

HSV消耗對項目的點擊並且不返回OnItemClick至ListView

我在一個適配器內寫入OnClickListener時解決了這個問題,該適配器返回一個回調給ListView。看到這裏:https://stackoverflow.com/a/43653085/2914140