2013-01-18 3 views
3

ListView 내부의 확인란에 액세스하는 데 문제가 있습니다. 각보기를 만들 때 확인란을 설정하려고합니다.ListView with Mono Android - 설정 확인란

 public override View GetView(int position, View convertView, ViewGroup parent) 
    { 
     View view = convertView; 
     if (view == null) 
      view = context.LayoutInflater.Inflate(Android.Resource.Layout.SimpleListItemChecked, null); 
     view.FindViewById<TextView>(Android.Resource.Id.Text1).Text = items[position]._fName + items[position]._lName; 

     // This seems to return null.. I'm probably accessing it the wrong way. 
     view.FindViewById<CheckBox>(Android.Resource.Id.Checkbox).Checked = items[position]._Enabled; 
     return view; 
    } 

문제가 주석 상태로, 프로그램이 System.NullReferenceException을 발생한다는 것입니다 :

나는이 기능을 구현하는 사용자 정의 어댑터를했다. 포인트는 내가 다른 방법으로 체크 박스에 액세스하는 방법을 모른다는 것입니다.

도움이 필요합니다.

+0

전체 코드를 게시하시기 바랍니다. – GrIsHu

+0

답장을 보내 주셔서 감사합니다. 며칠 전 여기를 회신하는 것을 잊어 버렸습니다. – MagiKruiser

답변

2

이 진행하는 가장 좋은 방법 인 경우 나도 몰라, 그러나 그것은 나를 위해 일한 : 을 우리가 목록은 텍스트와 체크 박스로 구성됩니다 알고 고려할 때, 나는 CheckedTextView로 바로 캐스트 ..

 public override View GetView(int position, View convertView, ViewGroup parent) 
    { 
     var view = convertView as CheckedTextView; 
     if (view == null) 
      view = context.LayoutInflater.Inflate(Android.Resource.Layout.SimpleListItemChecked, null) as CheckedTextView; 
     view.SetText(items[position]._fName + items[position]._lName, TextView.BufferType.Normal); 
     view.Checked = items[position]._Enabled; 

     return view; 
    } 

그것은이 달성 할 수있는 권리/가장 좋은 방법은되지 않을 수도 있지만 적어도 작동 ..