我正在编写一个非常基本的程序,该程序的目的是在屏幕上按下按钮后在文本视图中显示短语“ Hello”,但无法弄清楚为什么每次运行它时都表示应用程序意外停止。

这是我写的程序:

public class EtudeActivityActivity extends Activity{
  TextView tvResponse;

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    final TextView tvResponse = (TextView)  findViewById (R.id.tvResponse);
  }


  public void updateTV(View v) {
    tvResponse.setText("Hello");
  }
}


另外,我在按钮的main.xml文件中插入了android:onClick = "updateTV"

谢谢你的帮助!

最佳答案

这是因为您没有设置tvResponse成员变量。而是用相同的名称设置新的局部变量。因此,当您呼叫setText()时,您正在访问无效的引用

你需要改变

final TextView tvResponse = (TextView)  findViewById (R.id.tvResponse);




tvResponse = (TextView)  findViewById (R.id.tvResponse);


设置成员变量,因此以后有一个有效的引用(调用updateTV()时)

09-29 19:32