如何更改Java代码中的TextView值?

SJS*_*SJS 22 java android textview

我正在研究一个android程序.用户单击按钮我做了一些数学运算,我想在一些TextView对象中更改我在视图上的值.有人可以告诉我如何在我的代码中执行此操作吗?

McG*_*one 43

我相信,这个问题的延续这一个.

你想做什么?当用户单击按钮时,您真的想要动态更改TextView对象中的文本吗?如果你有理由,你当然可以这样做,但是,如果文本是静态的,它通常在main.xml文件中设置,如下所示:

<TextView  
android:id="@+id/rate"
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:text="@string/rate"
/>
Run Code Online (Sandbox Code Playgroud)

字符串"@ string/rate"是指strings.xml文件中的一个条目,如下所示:

<string name="rate">Rate</string>
Run Code Online (Sandbox Code Playgroud)

如果你真的想稍后更改这个文本,你可以使用Nikolay的例子 - 你可以通过利用main.xml中为它定义的id来获得对TextView的引用,如下所示:


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.");
Run Code Online (Sandbox Code Playgroud)


Nik*_*vin 14

首先我们需要找到一个Button:

Button mButton = (Button) findViewById(R.id.my_button);
Run Code Online (Sandbox Code Playgroud)

之后,你必须实现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");
    }
});
Run Code Online (Sandbox Code Playgroud)