我不能改变在Visual Studio 2015年我的TextView文本(安卓)

问题描述 投票:0回答:2

我是很新的Visual Studio中。我需要用Visual Studio创建一个Android应用程序。我使用Visual Studio 2015年社区。

目前,我有2个活动(详细信息并确认)的Android项目。在详细信息页面,还有的EditText用户输入的细节,并在确认页面,一个TextView用来显示用户输入。

我已经这样做了2个活动,但是当我运行它,确认页面将是空的。我不知道我的代码是否正确与否。

还有我现在遇到一些问题: -

  • 如何获得的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的文本不会更改。非常感谢你提前为那些谁试图解决这个问题对我来说。不胜感激!

DDS,亲爱的

c# android visual-studio-2015 android-edittext textview
2个回答
0
投票

您正在尝试直接编辑文本变量,这是不可能的。使用gettext()和的setText()来代替。

例如:

获取文本

String jobNum = jn.getText();

设置文本

jn.setText(jobNumber)


0
投票

你的错误是,当详细活动开始,明显的文本框为空,你采取的文本。

把这个:

String jobNum = jn.Text;
String statusC = sc.Text;
String statusD = sd.Text;
String remarks = r.Text;

按钮内点击委托方法。

© www.soinside.com 2019 - 2024. All rights reserved.