ここのラボに従って学習しようとしていましたhttps://sites.google.com/site/androidcoursearchive/labs/lab-1
これがコードです
NameGetter.java
public class NameGetter extends Activity implements OnClickListener {
EditText name;
Button submit;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.name_getter);
name = (EditText) this.findViewById(R.id.editText1);
submit = (Button) this.findViewById(R.id.button1);
submit.setOnClickListener(this);
}
public void onClick(View v) {
String userName = name.getText().toString();
Intent submitIntent = new Intent(NameGetter.this, HelloWorld.class);
submitIntent.putExtra("username", userName);
this.startActivity(submitIntent);
}
}
HelloWorld.java
public class HelloWorld extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView tv = (TextView) this.findViewById(R.id.textViewHello);
Bundle name = this.getIntent().getExtras();
if(name != null) {
String nameEntered = name.getString("username");
if(nameEntered != null) {
tv.setText(nameEntered);
} else {
tv.setText("nameEntered is null");
}
} else {
tv.setText("name is null");
}
}
}
EditText ボックスにテキストを入力できます。送信ボタンを押すと、強制的に閉じられます。LogCat は次のように述べています。
java.lang.RuntimeException: アクティビティを開始できません ComponentInfo{com.mypackagerhello.com/com.mypackagerhello.com.HelloWorld}: java.lang.NullPointerException`
編集:ありがとうございました!this.setContentView(R.layout.main);
HelloWorld.java に欠けていたのはこの行でした。