2012-07-07 81 views
1

我有一個ListActivity與附加的適配器。現在我想在適配器中註冊一個列表項。這是我在ListCctivity的onCreate解決方案:Android的OnItemClickListener

 this.myList = getListView(); 
     this.myList.setAdapter(this.adapter); 
     this.myList.setOnItemClickListener(new OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { 
       Log.d("Click", "ListView"); 
      } 
     }); 

但OnItemClickListener從不響應。 有什麼不對?

+0

確保你已經導入了'import android.widget.AdapterView.OnItemClickListener;' – 2012-07-07 09:26:58

回答

0

您無需設置OnItemClickListener。你必須重寫onListItemClick

@Override 
    public void onListItemClick(ListView l, View v, int position, long id) { 
     // Do something when a list item is clicked 
    } 

第三個參數,position,是position在適配器中的元素。

-1

如果妳對其中U在adpter使用了比該行佈局每個ImageView的或按鈕或複選框或TextView的等各列表項的行佈局...... u必須加入這一行的XML

android:clikable="false" 
android:focusable="false" 
-1

你缺少這樣的:

this.myList.setChoiceMode(ListView.CHOICE_MODE_SINGLE); 

默認情況下,列表亙古不變的任何選擇模式,即其設置爲默認CHOICE_MODE_NONE。因此,爲了使其可點擊,我們必須根據您的需要將其設置爲CHOICE_MODE_SINGLE或CHOICE_MODE_MULTIPLE。

1
ListView list = (ListView) findViewById(R.id.listView1); 

MobileArrayAdapter adapter = new MobileArrayAdapter(this,android.R.layout.simple_list_item_1); 
list.setAdapter(adapter);  

list.setOnItemClickListener(new OnItemClickListener() { 
public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
//your data 

    } 
} 
相關問題