2011-06-11 179 views
0

我有一個自定義列表視圖與Baseadapter實施。我的數據集包含一個字符串和一個標誌。我需要控制列表視圖中每行的clickable屬性基於此標誌..任何幫助將不勝感激..Android的listview處理點擊事件

+0

每行可點擊的行爲?你想根據國旗準確實施什麼? – 2011-06-11 08:13:58

+0

如果你想實現點擊偵聽器,然後通過這個例子:http://goo.gl/7bl4j,http://goo.gl/psSJY,http://goo.gl/wQAr1 – 2011-06-11 08:21:53

+0

檢查我的答案。 – Varun 2011-06-11 12:10:37

回答

1

我明白你的數據集是一個包含字符串和標誌數據對象的集合。在這種情況下,你可以override在你的基地適配器isEnabled(int position)這樣

public boolean isEnabled(int position){ 
    return myDataSet.get(position).getFlag();// returning true here will make that item clickable 
} 

注意,我指的是相應位置的我的數據對象。

4

嗨subi你可以使用下面的代碼設置clicklistener ....

lv.setAdapter(new ArrayAdapter(ClassName.this)); 
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() 
{ 
     @Override 
     public void onItemClick(AdapterView arg0, View arg1,int arg2, long arg3) 
     { 
     } 
}); 

其中一個arrayAdapter是你的客戶類擴展baseadapter ... 希望這有助於...

+0

我得到了點擊事件..但真正的問題是我必須禁用一些行,根據我設置的標誌.. 感謝您的興趣.. – 2011-06-11 08:25:09

0

如果你想自定義屬性列表視圖嘗試實現自己的customAdapter它擴展了baseAdapter

public class CustomListAdapter extends BaseAdapter { 
private ArrayList<Generics> allElementDetails; 

private LayoutInflater mInflater; 

public CustomListAdapter(Context context, ArrayList<Generics> results) { 
    allElementDetails = results; 
    mInflater = LayoutInflater.from(context); 

} 
public int getCount() { 
    return allElementDetails.size();   
} 
public Object getItem(int position) { 
    return allElementDetails.get(position); 
} 
public long getItemId(int position) { 
    return position; 
} 
public View getView(int position, View convertView, ViewGroup parent) 
{ 
    convertView = mInflater.inflate(R.layout.filedialog, null); 
    ImageView imageview = (ImageView) convertView.findViewById(R.id.imageview); 
    TextView textview = (TextView) convertView.findViewById(R.id.textview); 
    if(flag==true) 
      convertview.setClickable(true) 
    else 
      convertview.setClickable(false); 
    return convertView; 
}  

}

現在使用的listview.setOnItemClickListener時應用的操作即當可點擊視圖點擊將執行功能。

我想這可能幫助ü....

+0

我試過這個..但沒有爲我工作.. – 2011-06-11 09:04:06