MainActivity.java
public class MainActivity extends Activity {
EditText editText = (EditText)findViewById(R.id.editText);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
・・・
activity_main.xml
上記のプログラムはNull Pointer Exceptionとなります。
EditText editText = (EditText)findViewById(R.id.editText);
を上記の位置に書いてしまうとEditTextが記述されたactvity_main.xmlがsetContextView()されるまえに呼び出されることになります。
そのためfindViewByIdで指定されたidを見つけることができずNull Pointer Exceptionとなってしまいます。
すなわちfindViewByIdはsetContextView()よりあとに記述しなければなりません。
MainActivity.java
public class MainActivity extends Activity {
EditText editText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText = (EditText)findViewById(R.id.editText);
}
・・・
これで正しく動作します。
【このカテゴリーの最新記事】
- no image
- no image
- no image