Xamarin如何分配一个字符串来编辑文本

本文关键字:字符串 一个 编辑 文本 分配 Xamarin 何分配 | 更新日期: 2023-09-27 18:16:50

我是手机开发新手。我正在使用visual studio 2015xamarin的android上工作。当我给edit text分配字符串时,我得到一个空引用异常。下面是代码

void List_ItemClick(object sender, AdapterView.ItemClickEventArgs e)
    {
        click_Employee = e.Position + 1;
        ICursor c = dbHelper.getSingleEntry(click_Employee);
        c.MoveToFirst();
        name = c.GetString(c.GetColumnIndex(dbHelper.EMPLOYEE_NAME));
        email = c.GetString(c.GetColumnIndex(dbHelper.EMPLOYEE_EMAIL));
        phone = c.GetString(c.GetColumnIndex(dbHelper.EMPLOYEE_PHONE));
        designation =     c.GetString(c.GetColumnIndex(dbHelper.EMPLOYEE_DESIGNATION));
        dName.Text = name;
        dEmail.Text = email;
        dPhone.Text = phone;
        dDesignation.Text = designation;
    }

我得到的例外是在dName.text = name点。为了更好地理解,请参阅下面的代码

ListView list; 
    EditText dName, dEmail, dPhone, dDesignation;
    String name, email, phone, designation;
    SQLiteHelper dbHelper;
    int click_Employee;
    Button upBtn;
 private void initialize()
    {
        list = (ListView)FindViewById(Resource.Id.listView1);
        dName = (EditText)FindViewById(Resource.Id.eName);
        dEmail = (EditText)FindViewById(Resource.Id.eEmail);
        dPhone = (EditText)FindViewById(Resource.Id.ePhone);
        dDesignation = (EditText)FindViewById(Resource.Id.eDesignation);
        upBtn = (Button)FindViewById(Resource.Id.updateEmploy);
    }

下面是我的axml,当选择记录时,数据将来自update layout

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="10dp">
<ScrollView
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">
        <ListView
            android:id="@+id/listView1"
            android:layout_width="match_parent"
            android:layout_height="350dp"
            android:divider="#000"
            android:dividerHeight="1dp" />
        <TextView
            android:id="@+id/eName"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Name" />
        <TextView
            android:id="@+id/eEmail"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Email" />
        <TextView
            android:id="@+id/ePhone"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Phone" />
        <TextView
            android:id="@+id/eDesignation"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Designation" />
    </LinearLayout></ScrollView></LinearLayout>

要了解更多,请参阅我使用的这个链接,并将其作为示例代码

我也做了这个链接的建议,但结果是一样的

如有任何帮助,不胜感激

Xamarin如何分配一个字符串来编辑文本

你已经在布局中设置了项目为TextViews,但是你在你的类中将它们转换为EditTexts。

<EditText
        android:id="@+id/eName"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Phone" />

您还应该像下面这样键入而不是强制转换。

dName = FindViewById<EditText>(Resource.Id.eName);