Xamarin如何分配一个字符串来编辑文本
本文关键字:字符串 一个 编辑 文本 分配 Xamarin 何分配 | 更新日期: 2023-09-27 18:16:50
我是手机开发新手。我正在使用visual studio 2015
在xamarin
的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>
要了解更多,请参阅我使用的这个链接,并将其作为示例代码
我也做了这个链接的建议,但结果是一样的
如有任何帮助,不胜感激
你已经在布局中设置了项目为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);