单击按钮更改TextView文本(Android)

时间:2011-09-17 11:31:34

标签: android

我正在尝试在按钮点击上更改文本视图的文本。下面是我的代码的要点,但它似乎没有工作。难道我做错了什么。在此先感谢

//xml
<TextView android:id="@+id/textView2" android:text="blah blah blah"></TextView>
<Button android:text="Wrong answer." android:onClick="wrongAns" android:clickable="true"></Button>

//code
TextView theCorrectAnsTextView = (TextView)findViewById(R.id.textView2);

public void wrongAns(View v) 
{   
  theCorrectAnsTextView.setText("TextView text has changed!");
}

5 个答案:

答案 0 :(得分:15)

  1. 首先,您为按钮提供onclick事件(按钮单击)。
  2. 在java文件中只写下面的代码。

    public void buttonClick(View v)
    {
    TextView tv = (TextView)findViewById(R.id.textView1);
    tv.setText("Welcome to android");
    }
    
  3. 希望这会对你有所帮助。

答案 1 :(得分:1)

也许您需要初始化按钮。 如果它不起作用,只需在java代码中执行:

Button btn = (Button) findViewById(YourId);
btn.setonClickListener(listener);

public onClickListener listener = new View.OnclickListener{
      onclick(View v){
      // do your thing
      }
}

这样的事情,我不记得没有日食来纠正我。

答案 2 :(得分:0)

在简单的视图中,背景是文本框和按钮,您需要使用

public void OnMyButtonClick (View v)
{
    TextView tv = (TextView) v.getRootView().findViewById(R.id.textVal);
    if (tv != null)
      {tv.setText("Hallo");}
}

答案 3 :(得分:0)

使用setContentView,请检查What is setContentView(R.layout.main)?

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    mStatusTextView = (TextView) this.findViewById(R.id.status_text_view);
}

答案 4 :(得分:0)

Kotlin 中将 OnClickListener 添加到 Button 以更改 Text(value) strong>TextView 你得在MainActivity的onCreate方法中写如下代码

    var textView = findViewById<TextView>(R.id.text)        
    var button = findViewById<Button>(R.id.button)
    button.setOnClickListener(View.OnClickListener {
        textView.setText("Imran Khan")
    })