1. ホーム
  2. android

[解決済み] onCreateが呼ばれない

2023-05-26 21:09:17

質問

2つのアクティビティがあります。最初のアクティビティでは、ユーザーがボタンをクリックすると、2番目のアクティビティが起動します。2番目のアクティビティはすべての作業を行います。

私は次のように2番目のアクティビティを起動します。これはonClickListener Inner Classの中にあり、私は明示的に(FirstActivity.this,Simple.Class)でそれを呼び出してみましたが同じことが起こります。

    Intent test = new Intent(arg0.getContext(),Simple.class);
    startActivity(test);

エミュレータ上では、2番目のアクティビティを呼び出すように画面が移動するのが見えますが、黒い画面が表示されるだけで、レイアウトからは何も読み込まれません。logcat を見てみると、バインダースレッドに失敗したメッセージがいくつかあります。これは私の2番目の活動からのonCreate関数ですが、私は画面またはlogcatのどちらからも、Log関数が呼び出されたことを示す結果を得ることはありません。

    public void onCreate(Bundle savedState)
    {
       Log.d("SimpleActivity","OnCreate Started");

       super.onCreate(savedState);
   setContentView(R.layout.simple);

       Log.d("SimpleActivity","OnCreate Ended");
    }

注:上記のコードでは、OnCreate()でsuper.onCreate(savedState)を使用してベースコンストラクタを呼び出しています。

どのように解決するのですか?

私が経験したのは、間違ったオーバーライドをしたことです。 onCreate メソッドをオーバーライドしていたことです。私がオーバーライドしていたのは public void onCreate(Bundle savedInstanceState, PersistableBundle persistentState) をオーバーライドする必要があったのに protected void onCreate(@Nullable Bundle savedInstanceState) . もしかしたら、これは誰かの役に立つかもしれませんね。