我不能改变我的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文本不改变。提前感谢那些试图为我解决这个问题的人。很感激!

问候,阿齐兹

我不能改变我的textView文本在visual studio 2015 (Android)

您正在尝试直接编辑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;

在按钮内部单击委托方法