如何通过按下按钮更改TextView的文本

时间:2011-07-16 10:22:23

标签: android button textview

我想通过按TextView来更改Button,但不明白如何正确地执行此操作。

这是我布局的一部分:

<TextView android:id="@+id/counter"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Text" />
<Button android:id="@+id/button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Change text!" />

这是我的活动:

public class Click extends Activity {
    protected void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(R.layout.main);
        final Button button = (Button) findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                // Perform action on click
                // ???
            }
        });
    }
}

我应该在onClick()方法中添加什么内容?

7 个答案:

答案 0 :(得分:15)

根据: http://developer.android.com/reference/android/widget/TextView.html

TextView view = (TextView) findViewById(R.id.counter);
view.setText("Do whatever");

答案 1 :(得分:12)

  1. 按ID
  2. 查找textview
  3. 通过调用yourTextView.setText("New text");
  4. 更改文字

    参考findViewByIdsetText方法。

答案 2 :(得分:9)

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class Click extends Activity {
int i=0;
    protected void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(R.layout.main);
        final TextView mTextView = (TextView) findViewById(R.id.counter) 
        mTextView.setText("hello "+i);

        final Button button = (Button) findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                // Perform action on click
              i=i+1;  
              mTextView.setText("hello "+i);
            }
        });
    }
}

希望这能满足您的需求

答案 3 :(得分:3)

TextView tv = (TextView) v;
tv.setText("My new text");

修改 这是你的处理程序:

button.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            //TextView tv = (TextView) v; //code corrected
            TextView tv= (TextView) findViewById(R.id.counter);
            tv.setText("My new text");
        }
});

TextView view =(TextView)findViewById(R.id.counter);

答案 4 :(得分:0)

您可以使用setText(“任何”)方法执行此操作。

答案 5 :(得分:0)

onclick中,获取TextView的对象并设置所需的文本,如下所示:

tvOBJECT.setText("your text");

答案 6 :(得分:0)

Java仅限XML版本

使事情更明确:

DateTimeFormatter myFormatter = new DateTimeFormatterBuilder()
                               .parseCaseInsensitive()
                               .appendPattern("dd-MMM-yyyy")
                               .toFormatter(Locale.ENGLISH);

在Android 22上测试。