Skip to content Skip to sidebar Skip to footer

Finish Activity Android (with Theme.dialog)?

I have problem with finish Activity with Theme.Dialog .. it's need double press back button to finish Activity before back to previous Activity. One Press Back Button = Hide Acitiv

Solution 1:

Add a OnDismissListener.

package com.tracking.bus.track;

import com.tracking.bus.R;

import org.holoeverywhere.app.Activity;
import android.media.Ringtone;
import android.media.RingtoneManager;
import android.net.Uri;
import android.os.Bundle;
import android.content.Intent;
import org.holoeverywhere.app.Dialog; 

publicclasslanguageextendsActivity {
    private Ringtone r;
    private DialogInterface.OnDismissListener mOnDismiss; // Variable OnDismiss/** Called when the activity is first created. */@OverridepublicvoidonCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
       // setContentView(R.layout.main);Urialert= RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM);
        mOnDismiss = newDialogInterface.OnDismissListener(){ // initializing variable@OverridepublicvoidonDismiss(DialogInterface dialog) {
                finish();
            }
        }
        if(alert == null){
            // alert is null, using backup
            alert = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);

            // I can't see this ever being null (as always have a default notification)// but just incaseif(alert == null) {  
                // alert backup is null, using 2nd backup
                alert = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE);                
            }

        }

        Dialogdialog=newDialog(language.this); 
        dialog.setContentView(R.layout.dialog_notifikasi); 
        dialog.setTitle("Raygional"); 
        dialog.setOnDismissListener(mOnDismiss); // assign variable.
        dialog.show();

         r = RingtoneManager.getRingtone(language.this, alert);
        r.play();

    }

    @OverridepublicvoidonStop() {
       super.onStop();
       if(r.isPlaying())
       {
         r.stop();
       }

finish();
      }
}

Solution 2:

If I understand your question correctly, you want to call the activity's finish() method the first time the user hits "back", yes? In your activity:

@OverridepublicbooleanonKeyDown(int keyCode, KeyEvent event)  {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
        this.finish();
    }

    returnsuper.onKeyDown(keyCode, event);
}

Post a Comment for "Finish Activity Android (with Theme.dialog)?"