3
private void loadingPopup() {
    LayoutInflater inflater = this.getLayoutInflater();
          View layout = inflater.inflate(R.layout.loading_dialog, null);

        PopupWindow windows = new PopupWindow(layout , 300,300,true);
       windows.setFocusable(false);
          windows.setTouchable(true); 
          windows.setOutsideTouchable(true);
          windows.showAtLocation(layout,Gravity.CENTER, 0, 0);

}

loadingPopup()発生した例外からメソッドを呼び出すときoncreate()..助けてください

4

1 に答える 1

11

アクティビティウィンドウが表示される前でも、ポップアップウィンドウを表示しようとしています。postメソッドの助けを借りて、必要なすべての起動ライフサイクルメソッドが完了するまで待つことができます。

これを試して :

private void loadingPopup() {
    LayoutInflater inflater = this.getLayoutInflater();
    final View layout = inflater.inflate(R.layout.loading_dialog, null);

    final PopupWindow windows = new PopupWindow(layout , 300,300,true);
    windows.setFocusable(false);
    windows.setTouchable(true); 
    windows.setOutsideTouchable(true);
    layout.post(new Runnable() {
        public void run() {
            windows.showAtLocation(layout,Gravity.CENTER, 0, 0);
        }
    });
}
于 2013-02-06T14:05:11.883 に答える