2016-05-21 6 views
2

ダイアログが表示されているとき - onPause()メソッドが呼び出されます。 ダイアログがdimiss - onResume()メソッドが呼び出されたとき。ダイアログが表示されたとき、またはアクティビティで却下されたとき、どのアクティビティライフサイクルメソッドが呼び出されたか

しかし私の下の例では、それは働いていません。私の下のコードを見て、私の混乱をクリアしてください。

import android.app.Activity; 
import android.app.Dialog; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.View; 
import android.widget.Button; 
import android.widget.ImageView; 
import android.widget.TextView; 

public class MainActivity extends Activity { 

TextView txtName; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main2); 
    txtName= (TextView) findViewById(R.id.txtName); 

    txtName.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      showCustomDialog(); 
     } 
    }); 
} 

public void showCustomDialog(){ 
// Create custom dialog object 
final Dialog dialog = new Dialog(this); 
// Include dialog.xml file 
dialog.setContentView(R.layout.dialog); 
// Set dialog title 
dialog.setTitle("Custom Dialog"); 

// set values for custom dialog components - text, image and button 
TextView text = (TextView) dialog.findViewById(R.id.textDialog); 
text.setText("Custom dialog Android example."); 
ImageView image = (ImageView) dialog.findViewById(R.id.imageDialog); 
image.setImageResource(R.drawable.ic_launcher); 

dialog.show(); 

Button declineButton = (Button) dialog.findViewById(R.id.declineButton); 
// if decline button is clicked, close the custom dialog 
declineButton.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     // Close dialog 
     dialog.dismiss(); 
    } 
}); 
} 
@Override 
protected void onResume() { 
    super.onResume(); 
    Log.e("MainActivity","onResume"); 
} 

@Override 
protected void onPause() { 
    super.onPause(); 
    Log.e("MainActivity","onPause"); 
} 

ダイアログが表示されたときにonPuase()が呼び出されません。 ダイアログを閉じるときにonResume()が呼び出されません。

答えて

0

http://www.vogella.com/tutorials/AndroidLifeCycle/article.html

ダイアログが活動のライフサイクルに縛られていません。 onPauseとonResumeは、アクティビティがそれらの状態にあるときに呼び出され、ダイアログが状態にあるときには呼び出されません。 たとえば、アクティビティがonPauseになったときにdialog.dismiss()を配置すると、ダイアログが表示されなくなります。