1. ホーム
  2. Android

Solve アクティビティのメソッドを実行できませんでした

2022-02-08 03:48:57

Androidのプログラミングにおける問題の多くは、実際には大きな問題ではなく、このような小さなエラーも少なくありません。
LogCatのメッセージです。
IllegalStateException: アクティビティーのメソッドを実行できませんでした
原因:java.lang.reflect.InvocationTargetException
原因:java.lang.NullPointerException
わかりやすく言うと、アクティビティに関連するメソッドが実行できない、なぜ実行できないかというと、システムにヌル参照を与えたから、ヌルポインターエラーが発生しているのです
理由はいろいろあると思いますが、今のところわかっているのはコードの順番で、onCreateメソッドでは、以下のようなコードがあるはずです。

@Override
protected void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
	setContentView(R.layout.activity_main);
	username = (EditText) findViewById(R.id.username);
	pwd = (EditText) findViewById(R.id.pwd);
}





これが普通の書き方で、このように書けば問題ないでしょう
なお、現在は
setContentView(R.layout.activity_main);





の順番を入れ替えます。
@Override
protected void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
	username = (EditText) findViewById(R.id.username);
	pwd = (EditText) findViewById(R.id.pwd);
	setContentView(R.layout.activity_login);
}





これにより、アクティビティに関連するメソッドが実行されると同時に、アクティビティのCould not executeメソッドが発生します
そのため、コードを書くときは順番に注意し、まずsetContentViewを設定し、次に関連するコントロールのバインディングを行います。