Android Java: How do I prevent my Dialog box from showing MainActivity appname briefly when the Dialog closes?

Chimera :

I'm fairly new to Android development and I've created my first "real" application that does the following:

  • Launches MainActivity
  • MainActivity processes Extra Data and then displays a ViewDialog that extends Dialog. ViewDialog has a showDialog() method that does the following to setup and display the 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 shows the ViewDialog as follows:

     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();
         }
    
  • When the timer expires or the user presses a button the ViewDialog is closed and the application is finished with the following code:

        mButton1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            CancelTimer();
            activity.finishAndRemoveTask();
            dialog.dismiss();
    

The problem is that when the ViewDialog is dismissed I can occasionally see what looks like a message that is displaying the activities android:label that is setup in the AndroidManifest file.

Video of what is happening

I'm not sure why this happens, but I assume it's displaying some item of the MainActivity layout when the ViewDialog closes that uses it's own dialog_layout layout file.

I've fiddled with so many different things and changed code/layouts etc and I haven't been able to find my error.

What are some pointers and hints that will help me fix this? I'm happy to provide more details if needed.

The layout and manifest files are here:

Chimera :

It turns out that if I change:

public class MainActivity extends AppCompatActivity {

to

public class MainActivity extends Activity {

the problem goes away. I don't know why, but I'll take it.

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=304537&siteId=1