2012-11-01 61 views
0

克服位置的變化在列表視圖在基礎適配器有包含勾選框maultiple意見,如何在Android的

如果我選擇複選框,一個位置不饒人,如果我滾動並取消同一複選框,某些其它位置越來越,但我需要相同的位置..如何得到這個?

+0

它很難說沒有看到任何代碼。 。這可能是getView方法的一個問題 – Tobrun

+0

Reffer API演示(視圖/列表/多選列表).Best示例。 –

回答

0

這是因爲您的適配器正在回收視圖,並且您沒有正確處理它。請確保您使用的setChoiceMode(ListView.CHOICE_MODE_MULTIPLE)setChoiceMode(ListView.CHOICE_MODE_SINGLE)

如果您正在使用自定義列表項,請參考我的教程:CUSTOM LISTVIEW WITH ABILITY TO CHECK ITEMS

0

在您的適配器類

public View getView(final int position, final View convertView, ViewGroup parent) { 
     View row = super.getView(position, convertView, parent); 
if (row == null) 
{ 
    LayoutInflater inflater = (LayoutInflater) activity 
        .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    row = inflater.inflate(R.layout.reports_list, null); 
} 

CheckBox cBox=(CheckBox)row.findViewById(R.id.cb1); 

cBox.setOnClickListener(new OnClickListener() { 

public void onClick(View v) { 
    if(cBox.isChecked()) 
    { 
     System.out.println("position "+reportslistview.getPositionForView(cBox)); 
    } 
} 
});