it-swarm.com.de

Wie ändere ich den TextView-Wert im Java-Code?

Ich arbeite an einem Android-Programm. Ein Benutzer klickt auf eine Schaltfläche. Ich berechne etwas und möchte die Werte meiner Ansicht in einigen TextView-Objekten ändern. Kann mir jemand bitte sagen, wie es in meinem Code geht?

22
SJS

Ich gehe davon aus, dass diese Frage eine Fortsetzung von dieser ist.

Was versuchst du zu machen? Möchten Sie den Text in Ihren TextView-Objekten wirklich dynamisch ändern, wenn der Benutzer auf eine Schaltfläche klickt? Sie können dies sicherlich tun, wenn Sie einen Grund haben, aber wenn der Text statisch ist, wird er normalerweise in der Datei main.xml wie folgt festgelegt:

<TextView  
Android:id="@+id/rate"
Android:layout_width="fill_parent" 
Android:layout_height="wrap_content" 
Android:text="@string/rate"
/>

Die Zeichenfolge "@ string/rate" bezieht sich auf einen Eintrag in Ihrer Datei "strings.xml", der folgendermaßen aussieht:

<string name="rate">Rate</string>

Wenn Sie diesen Text wirklich später ändern möchten, können Sie dies anhand des Beispiels von Nikolay tun. Sie erhalten einen Verweis auf die Textansicht, indem Sie die in main.xml definierte ID verwenden.


final TextView textViewToChange = (TextView) findViewById(R.id.rate);
textViewToChange.setText(
    "The new text that I'd like to display now that the user has pushed a button.");
41
McGlone

Zuerst müssen wir eine Button finden:

Button mButton = (Button) findViewById(R.id.my_button);

Danach müssen Sie View.OnClickListener implementieren und dort die TextView finden und die Methode setText ausführen:

mButton.setOnClickListener(new View.OnClickListener {
    public void onClick(View v) {
        final TextView mTextView = (TextView) findViewById(R.id.my_text_view);
        mTextView.setText("Some Text");
    }
});
14
Nikolay Moskvin

Fügen Sie zuerst textView in der XML-Datei hinzu 

<TextView  
    Android:id="@+id/rate_id"
    Android:layout_width="fill_parent" 
    Android:layout_height="wrap_content" 
    Android:text="@string/what_U_want_to_display_in_first_time"
    />

fügen Sie dann eine Schaltfläche in der XML-Datei mit der ID btn_change_textView hinzu und schreiben Sie diese zwei Codezeilen in die onCreate()-Aktivitätsmethode

Button btn= (Button) findViewById(R.id. btn_change_textView);
TextView textView=(TextView)findViewById(R.id.rate_id):

verwenden Sie dann clickListener() für ein Button-Objekt wie dieses

btn.setOnClickListener(new View.OnClickListener {
    public void onClick(View v) {

        textView.setText("write here what u want to display after button click in string");
    }
});
0
Ashutosh