アクティビティが開始するとすぐにロードする必要がある 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);
}
すべての助けに感謝します。