0030デフォルトの名無しさん
2018/08/23(木) 21:38:06.70ID:H8Gnu4tL1 public class MainActivity extends AppCompatActivity{
2 ・・・
3 Gview gView=new Gview();
4
5 public class Gview extends View{
6 public GameView(Context context){
7 super(context);
8 TextView textView =(TextView) findViewById(resID);
9 textView.setText("***"); }}}
とすると、コード上はエラーにならず、アプリケーションの起動エラーとなります。
9行目の textView.setText("***");を削除すると起動します。
エラーはNullpointerExceptionで、textViewがNullになってしまっています。
8,9行目のコードをMainActivity下の3行目あたりに移して実行すると、エラーは生じません
なぜ、Gviewクラスのコンストラクタ内ではNullエラーになるのでしょうか?
他のスレで教えていただいたのは、ViewクラスのfindViewByIdを呼んでいるとのこと。
GviewでsetTextする方法を教えてください。