以下程序强制退出并崩溃,我不明白为什么,
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends Activity {
/** Called when the activity is first created. */
TextView tv = (TextView) findViewById(R.id.text);
Button btn1 = (Button) findViewById(R.id.button1);
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public void clicked(View v) {
tv.setText(btn1.getText());
}
}
但是在移动
之后TextView tv = (TextView) findViewById(R.id.text);
Button btn1 = (Button) findViewById(R.id.button1);
它所使用的点击功能内部,为什么会这样?
感谢您的帮助..
答案 0 :(得分:6)
findViewById()
之后调用 setContentView()
,否则它将始终返回null。
答案 1 :(得分:5)
使用以下代码,它将开始工作。
在onCreate()中使用setContentView()之前使用findViewById(),它将返回null。
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends Activity {
/** Called when the activity is first created. */
private TextView tv;
private Button btn1;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tv = (TextView) findViewById(R.id.text);
btn1 = (Button) findViewById(R.id.button1);
}
public void clicked(View v) {
tv.setText(btn1.getText());
}
}