Checkbox.checked在View Monodroid中无效

时间:2013-06-10 23:42:07

标签: c# android xamarin.android xamarin

我是新手单声道的Android。我正在尝试制作一个简单的复选框列表,在那里我可以选择我的候选人,按一个按钮将它们插入数据库。一切都很好,直到这里,但问题是加载我的检查值。即使我明确地将 this.Checked = true;

,我的复选框也始终未选中

这是我的代码:

加载列表视图:

    var CandidatesList = FindViewById<ListView>(Resource.Id.lstVotingCandidates);
    CandidatesVoteAdapter cva = new CandidatesVoteAdapter(this, MAE.Code.Utilities.CandidatesInfo.CurrentList);
    CandidatesList.ChoiceMode = ChoiceMode.Multiple;
    CandidatesList.Adapter = cva;

适配器:

public override View GetView(int position, View convertView, ViewGroup parent)
{
    View view = convertView; // re-use an existing view, if one is available
    if (view == null) // otherwise create a new one
    {  
       view = new Views.CandidateVoteItemView(context, items[position]);
    }
    return view;
}

查看:

class CandidateVoteItemView : CheckBox
{
    public MAE.MAEService.Candidate Candidate { get; protected set; }
    public CandidateVoteItemView(Context context, MAE.MAEService.Candidate candidate) : base(context)
    {
        this.Text = candidate.FirstName;                                 //Working 
        this.Checked = true;// (candidate.isChecked == 1) ? true : false;//Not Working
    }
}

1 个答案:

答案 0 :(得分:0)

您可以尝试这种方法:

lv.SetItemChecked(1, true);

Taken from official xamarin site并查看第2.2节