2016-09-07 1 views
0

Ich bin sehr neu in Visual Studio. Ich muss eine Android App mit Visual Studio erstellen. Ich verwende Visual Studio 2015 Community.Ich kann meinen TextView Text in Visual Studio 2015 (Android) nicht ändern

Derzeit habe ich ein Android-Projekt mit 2 Aktivitäten (Details und Bestätigung). Auf der Detailseite gibt es EditText, damit der Benutzer die Details eingeben kann, und auf der Bestätigungsseite wird eine TextView verwendet, um die Benutzereingabe anzuzeigen.

Ich habe diese 2 Aktivitäten gemacht, aber wenn ich es ausführe, wird die Bestätigungsseite leer sein. Ich bin mir nicht sicher, ob mein Code richtig ist oder nicht.

Es gibt wenige Probleme, die ich jetzt begegnen: -

  • wie die EditText Wert erhalten und zuweisen es Variable
  • , wie Pass der Wert von einer Aktivität zur anderen
  • wie zu lesen der Wert, der von der anderen Aktivität
  • wie cha übergeben wird nge Text der 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; 
} 

Bitte helfen Sie mir, was ich falsch gemacht? Warum ändert sich der TextView-Text nicht? Vielen Dank im Voraus für diejenigen, die versuchen und dieses Problem für mich lösen. BIN DANKBAR!

Grüße, Azizi

+0

Haben Sie einen Fehler erhalten? – amitairos

+0

Kein Fehler, aber die TextView ist leer. Ich kann den Text im TextView nicht ansehen –

+0

@amitairos Ich weiß einfach nicht, was falsch ist. Ist mein Code korrekt? Oder gibt es irgendwo einen Fehler? Ich habe versucht, online zu suchen, aber ich konnte nichts finden, das mein Problem lösen könnte. Vielen Dank im Voraus –

Antwort

0

Sie versuchen die Textvariable direkt zu bearbeiten, ist das nicht möglich. Verwenden Sie stattdessen getText() und setText().

Zum Beispiel:

Get Text

String jobNum = jn.getText();

Set Text

jn.setText(jobNumber)

+1

Er benutzt Xamarin, in dem was er getan hat, ist akzeptabel. – amitairos

+0

@Aenadon Vielen Dank für Ihre Antwort. Aber es ist ein Fehler für mich, wenn ich getText() und setText() benutze –

0

Ihr Fehler ist, dass Sie die Texte genommen werden, wenn die Aktivität Einzelheiten beginnt, und natürlich sind die Textfelder leer.

Diesen:

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

innerhalb des Klick Delegatmethode Taste.

Verwandte Themen