带有 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");
如何在应用程序启动时更改我的文本字段以及如何在单击按钮时再次更改它?
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");