我不能改变我的textView文本在visual studio 2015 (Android)
本文关键字:2015 studio Android visual 能改变 不能 我的 textView 文本 | 更新日期: 2023-09-27 18:06:09
我是Visual Studio的新手。我需要创建一个android应用程序与Visual Studio。我使用的是Visual Studio 2015 Community。
目前我有一个android项目2个活动(细节和确认)。在详细信息页面中,有EditText供用户输入详细信息,在确认页面中,有TextView用于显示用户输入。
我已经完成了这两个活动,但是当我运行它时,确认页面将是空的。我不确定我的代码是否正确。
我现在遇到几个问题:-
- 如何获得EditText值和分配它的变量
- 如何将值从一个活动传递到另一个
- 如何读取从其他活动传递的值
- 如何更改 TextView文本
details.xml
<EditText
android:inputType="textMultiLine"
android:id="@+id/jobNumber"
android:layout_height="wrap_content" />
<EditText
android:inputType="textMultiLine"
android:id="@+id/statusCode"
android:layout_height="wrap_content" />
<EditText
android:inputType="textMultiLine"
android:id="@+id/statusDescription"
android:layout_height="wrap_content" />
<EditText
android:inputType="textMultiLine"
android:id="@+id/remarks"
android:layout_height="wrap_content" />
Details.cs
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.DetailsPage);
EditText jn = FindViewById<EditText>(Resource.Id.jobNumber);
EditText sc = FindViewById<EditText>(Resource.Id.statusCode);
EditText sd = FindViewById<EditText>(Resource.Id.statusDescription);
EditText r = FindViewById<EditText>(Resource.Id.remarks);
String jobNum = jn.Text;
String statusC = sc.Text;
String statusD = sd.Text;
String remarks = r.Text;
Button next = FindViewById<Button>(Resource.Id.next);
next.Click += delegate
{
Intent act = new Intent(this, typeof(Confirmation));
act.PutExtra("jNum", jobNum);
act.PutExtra("SC", statusC);
act.PutExtra("SD", statusD);
act.PutExtra("R", remarks);
StartActivity(act);
};
}
confirmation.xml
<TextView xmlns:tools="http://schemas.android.com/tools"
android:text="Medium Text"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/textView7" />
<TextView
android:text="Medium Text"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/textView8" />
<TextView
android:text="Medium Text"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/textView9" />
<TextView
android:text="Medium Text"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/textView10" />
Confirmation.cs
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.Confirmation);
String jobNumber = Intent.GetStringExtra("jNum");
String statusCode = Intent.GetStringExtra("SC");
String statusDescription = Intent.GetStringExtra("SD");
String remarks = Intent.GetStringExtra("R");
TextView jn = FindViewById<TextView>(Resource.Id.textView7b;
TextView sc = FindViewById<TextView>(Resource.Id.textView8);
TextView sd = FindViewById<TextView>(Resource.Id.textView9);
TextView r = FindViewById<TextView>(Resource.Id.textView10);
jn.Text = jobNumber;
sc.Text = statusCode;
sd.Text = statusDescription;
r.Text = remarks;
}
请帮帮我,我做错了什么?为什么TextView文本不改变。提前感谢那些试图为我解决这个问题的人。很感激!
问候,阿齐兹
您正在尝试直接编辑Text变量,这是不可能的。请使用getText()和setText()。
例如:得到文本
String jobNum = jn.getText()
;
设置文本
jn.setText(jobNumber)
您的错误是,当Details活动开始时,您采取了文本,显然文本框是空的。
把这个:
String jobNum = jn.Text;
String statusC = sc.Text;
String statusD = sd.Text;
String remarks = r.Text;
在按钮内部单击委托方法