私はAndroid開発にかなり慣れていないため、次のことを行う最初の「実際の」アプリケーションを作成しました。
- MainActivityを起動します
MainActivityは追加データを処理し
ViewDialog
、拡張するを表示しますDialog
。ViewDialog
には、showDialog()
次の設定と表示を行うメソッドがありますDialog
。protected void showDialog(final Activity activity) { dialog = new Dialog(activity); dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); dialog.setCancelable(false); dialog.setContentView(dialog_layout); // Set background color of the dialog ConstraintLayout currentLayout = (ConstraintLayout) dialog.findViewById(R.id.Dialog); // setup of views etc ... // Finally dislay `Dialog` dialog.show(); // Method called to start a `DialogTimer` which extends `CountDownTimer` }
MainActivityは
ViewDialog
次のように表示されます。public class MainActivity extends AppCompatActivity { private static Context appContext; private static ViewDialog notify; protected void onCreate(Bundle savedInstanceState) { // methods and processing etc... // time to display dialog notify = new ViewDialog(mParameters, mThemeHandler ); // ******************** Show dialog box ******************* notify.showDialog(activity: this); // showDialog just calls `Dialog.show()` notify.ApplyTheme(); }
タイマーが期限切れになるか、ユーザーがボタンを押すと、ボタン
ViewDialog
が閉じ、アプリケーションは次のコードで終了します。mButton1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { CancelTimer(); activity.finishAndRemoveTask(); dialog.dismiss();
問題は、が閉じられると、AndroidManifestファイルで設定されてViewDialog
いるアクティビティandroid:label
を表示しているメッセージのように見える場合があることです。
なぜこれが発生するのかはわかりませんが、独自のレイアウトファイルを使用するを閉じるときに、レイアウトのアイテムが表示されていると思います。MainActivity
ViewDialog
dialog_layout
私は非常に多くの異なるものをいじり、コード/レイアウトなどを変更しましたが、自分のエラーを見つけることができませんでした。
これを修正するのに役立つポインタとヒントは何ですか?必要に応じて詳細をお知らせいたします。
レイアウトとマニフェストファイルは次のとおりです。
- マニフェストhttps://pastebin.com/GL70FxGh
- activity_main.xml https://pastebin.com/qDVa0LrN
- dialog_layout.xml https://pastebin.com/RC4e6W9T