C# 无法从Listview内部获取拾取复选框

C# 无法从Listview内部获取拾取复选框,c#,android,xamarin,C#,Android,Xamarin,我正在开发这个应用程序,其中我在列表视图中有一个文本视图和一个复选框。ListView行的XML如下所示: <LinearLayout android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="8" android:orientation="vertical" android:id="@+id/linearLayout">

我正在开发这个应用程序,其中我在列表视图中有一个文本视图和一个复选框。ListView行的XML如下所示:

  <LinearLayout
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="8"
    android:orientation="vertical"
    android:id="@+id/linearLayout">

    <TextView
      android:text="Name"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:id="@+id/deliverNumberTextView"
      android:textSize="20dp"
      android:textColor="@android:color/black"
      android:padding="5dp" />

    <CheckBox
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_marginTop="10dp"
      android:id="@+id/listviewCheckbox"/>

  </LinearLayout>
问题是,在执行此代码后,我得到了TextView的值,但我无法更改复选框的可见性,因为“listviewCheckbox”为null


感谢您的帮助。谢谢。

试试这个方法::

public class ListAdapter: BaseAdapter
{

    // Make this variable global
     TextView deliverNumberTextView ;
     CheckBox listviewCheckbox

     public override View GetView (int position, View convertView, ViewGroup parent)
     { 
            View row = convertView;

            if (row == null)
            { 
                row = LayoutInflater.From (_context).Inflate (Resource.Layout.ListviewRow, null, false);
            } 

                deliverNumberTextView = (TextView) row.FindViewById (Resource.Id.deliverNumberTextView);

                listviewCheckbox = (CheckBox)row.FindViewById(Resource.Id.listviewCheckbox);

                deliverNumberTextView.Text = _deliveries[position].DeliveryNumber;
                listviewCheckbox.Visibility = ViewStates.Visible;

    return row;
    } 
}

DeliverNumber文本视图不为空?@ρцσѕρєK否,它不为空,但listviewCheckbox为空。与此相关的错误日志中没有任何实质性内容。尝试了很多事情,最后我改变了策略。谢谢你。
public class ListAdapter: BaseAdapter
{

    // Make this variable global
     TextView deliverNumberTextView ;
     CheckBox listviewCheckbox

     public override View GetView (int position, View convertView, ViewGroup parent)
     { 
            View row = convertView;

            if (row == null)
            { 
                row = LayoutInflater.From (_context).Inflate (Resource.Layout.ListviewRow, null, false);
            } 

                deliverNumberTextView = (TextView) row.FindViewById (Resource.Id.deliverNumberTextView);

                listviewCheckbox = (CheckBox)row.FindViewById(Resource.Id.listviewCheckbox);

                deliverNumberTextView.Text = _deliveries[position].DeliveryNumber;
                listviewCheckbox.Visibility = ViewStates.Visible;

    return row;
    } 
}