Я работаю над программой Android. Пользователь нажимает кнопку. Я делаю некоторую математику, и я хотел бы изменить значения, которые у меня есть на моем представлении в некоторых объектах TextView. Может кто-нибудь, пожалуйста, скажите мне, как это сделать в моем коде?
Как изменить значение TextView внутри кода Java?
Ответ 1
Я предполагаю, что этот вопрос является продолжением этого.
Что вы пытаетесь сделать? Вы действительно хотите динамически изменять текст в объектах TextView, когда пользователь нажимает кнопку? Вы можете это сделать, если у вас есть причина, но если текст является статическим, он обычно устанавливается в файле main.xml, например:
<TextView
android:id="@+id/rate"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/rate"
/>
Строка "@string/rate" относится к записи в файле strings.xml, которая выглядит так:
<string name="rate">Rate</string>
Если вы действительно хотите изменить этот текст позже, вы можете сделать это, используя пример Николая - вы получите ссылку на TextView, используя идентификатор, определенный для него в main.xml, например:
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.");
Ответ 2
Сначала нам нужно найти Button
:
Button mButton = (Button) findViewById(R.id.my_button);
После этого вы должны реализовать View.OnClickListener
и там вы должны найти TextView
и выполнить метод 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");
}
});