我是很新的Visual Studio中。我需要用Visual Studio创建一个Android应用程序。我使用Visual Studio 2015年社区。
目前,我有2个活动(详细信息并确认)的Android项目。在详细信息页面,还有的EditText用户输入的细节,并在确认页面,一个TextView用来显示用户输入。
我已经这样做了2个活动,但是当我运行它,确认页面将是空的。我不知道我的代码是否正确与否。
还有我现在遇到一些问题: -
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的文本不会更改。非常感谢你提前为那些谁试图解决这个问题对我来说。不胜感激!
DDS,亲爱的
您正在尝试直接编辑文本变量,这是不可能的。使用gettext()和的setText()来代替。
例如:
获取文本
String jobNum = jn.getText()
;
设置文本
jn.setText(jobNumber)
你的错误是,当详细活动开始,明显的文本框为空,你采取的文本。
把这个:
String jobNum = jn.Text;
String statusC = sc.Text;
String statusD = sd.Text;
String remarks = r.Text;
按钮内点击委托方法。