2011-01-22 6 views

risposta

39

Presumo che questo domanda è una continuazione di this one.

Che cosa stai cercando di fare? Vuoi davvero modificare dinamicamente il testo negli oggetti TextView quando l'utente fa clic su un pulsante? Si può certamente fare questo, se avete una ragione, ma, se il testo è statico, di solito è impostato nel file main.xml, in questo modo:

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

La stringa "@ string/rate" si riferisce ad una voce nel file strings.xml che assomiglia a questo:

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

Se davvero si vuole cambiare questo testo in seguito, è possibile farlo utilizzando l'esempio di Nikolay - si otterrebbe un riferimento al TextView da utilizzando l'id definito per esso all'interno di main.xml, ad esempio:


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."); 
13

In primo luogo abbiamo bisogno di trovare un Button:

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

Dopo di che, è necessario implementare View.OnClickListener e non ci si dovrebbe trovare il TextView ed eseguire il metodo setText:

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