0

アクティビティが開始するとすぐにロードする必要がある PopUpWindow があります。これは、画面の DisplayMetrics などを使用します。ただし、「ウィンドウを追加できません -- トークン null が無効です。アクティビティは実行されていますか?」というエラーが表示されます。行のwelcome.showAtLocation(popupview2, Gravity.CENTER, 0, 0);

リソースが取得されたときにのみ PopUpWindow を表示するにはどうすればよいですか?

私のコード:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

LayoutInflater inflater = (LayoutInflater) this
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);

    DisplayMetrics displayMetrics = getResources().getDisplayMetrics();

    dpWidth = displayMetrics.widthPixels / displayMetrics.density;

    dpHeight = displayMetrics.heightPixels / displayMetrics.density;

popupview2 = inflater.inflate(R.layout.start_layout, null);

welcome = new PopupWindow(popupview2, (int) dpWidth, (int) dpHeight);
    welcome.setAnimationStyle(R.style.Animation2);

    welcome.showAtLocation(popupview2, Gravity.CENTER, 0, 0);

}

すべての助けに感謝します。

4

0 に答える 0