MainActivityにデータをロードしていて、読み込み中にスプラッシュ画面を表示しようとしています。メインアクティビティでのみデータを読み込んでいるので別のアクティビティを使用できないため、ダイアログを使用して画像を表示しています。MainActivityでダイアログshow()が動作しません
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
loading_dialog = new Dialog(MainActivity.this);
loading_dialog.setContentView(R.layout.loading);
loading_dialog.show();
Log.d(TAG,"show");
verifyPermissions(this);
res=new Resourses(this);
manager = new Manager(this, res);
loading_dialog.dismiss();
setContentView(R.layout.activity_main);
Log.d(TAG,"End");
view = (GLSurfaceView) findViewById(R.id.view);
view.setEGLConfigChooser(8, 8, 8, 8, 16, 0);
view.setRenderer(manager);
additionalSkuList = new ArrayList<String>();
for(int i=0;i<10;i++)
{
additionalSkuList.add(res.id[i]);
}
String base64EncodedPublicKey;
base64EncodedPublicKey= getResources().getString(R.string.inappkey);
mHelper = new IabHelper(this, base64EncodedPublicKey);
mHelper.startSetup(new IabHelper.OnIabSetupFinishedListener() {
public void onIabSetupFinished(IabResult result) {
// Log.d("main", "m here");
if (!result.isSuccess()) {
// Oh noes, there was a problem.
Log.d(TAG, "Problem setting up In-app Billing: " + result);
}
// Hooray, IAB is fully set up!
isIAB = true;
Log.d(TAG,""+isIAB);
mHelper.queryInventoryAsync(true, additionalSkuList, mQueryFinishedListener);
// Log.d("main", "" + isIAB + " " + isLoad);
}
});
// ATTENTION: This was auto-generated to implement the App Indexing API.
// See https://g.co/AppIndexing/AndroidStudio for more information.
}
ただし、oncreateメソッドが完了するまでダイアログは表示されません。これを実行すると、ダイアログ画面が表示されません。私がload_dialog.dismiss()をオフにすると、すべてのデータがロードされた後にロードされます。
誰でも問題を特定できますか?
は解決:
問題は、あなたがレンダラの建設を初期化しない限り、setContentViewが開始しませんでした。
だから私はGLSurfaceViewのonSurfaceCreated機能でデータロードをシフトしなければなりませんでした。したがって、コンテンツビューが初期化された後にデータがロードされました。
コメント 'loading_dialog.dismiss(); '行が表示されているかどうか? –
はい、すべてのファイルが読み込まれた後でその表示を却下するとコメントします。 ENDタグの後に – sabby
が表示されています。これらの行為はどうしていますか? 'verifyPermissions(this); manager =新しいマネージャ(これ、res); 'AsyncTaskはありますか? –