带有 onClick 按钮和 onCreate 的 setText 使应用程序崩溃

setText with onClick button and onCreate crashes app

如何在应用程序启动时更改我的文本字段以及如何在单击按钮时再次更改它?

MainActivity.java

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    TextView myText=(TextView)findViewById(R.id.myActivityTextView);
    myText.setText("Launch Text Change");        
}

public void myButtonclicked(View v){
    TextView myText=(TextView)findViewById(R.id.myActivityTextView);
    myText.setText("Button Change Text");
}

activity_main.xml

<TextView android:text="@string/hello_world" android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/myText" />

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Change Text"
    android:id="@+id/myButton"
    android:layout_below="@+id/myText"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:onClick="myButtonclicked"/>

您在 xml 中的 TextView 的 ID 为 myText。更改

的查找
TextView myText=(TextView)findViewById(R.id.myActivityTextView); 

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

它应该可以工作。

您找错了id。这是正确的方法

TextView myText=(TextView)findViewById(R.id.myText);
myText.setText("Launch Text Change");