J'ai l'application Simple d'abord J'affiche MainActivity puis après que MainActivity est devenu visible, j'affiche TransparentActivity après que je clique sur OnClick Je tue TransparentActivity et je crée et affiche une boîte de dialogue. Au cours de la dernière étape, je reçois ErreurEchec de la livraison du résultat ResultInfo | java.lang.IllegalStateException: Impossible d'effectuer cette action après onSaveInstanceState
Erreur
Failure delivering result ResultInfo{who=null, request=1234, result=-1, data=Intent { }} to activity {com.example.kylu.layout/com.example.kylu.layout.GuidePhotoAlbum}: java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
MainActivity
public class MainActivity extends FragmentActivity
{
public static boolean flag=false;
private static int REQUEST_CODE = 1234;
@Override public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.mylayout);
}
@Override
protected void onResume() {
super.onResume();
//transparentShows only once
if(!flag)
{
Intent i = new Intent(this, TransparentTip.class);
startActivityForResult(i, REQUEST_CODE);
flag=true;
}
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
if (REQUEST_CODE == requestCode) {
if (resultCode == Activity.RESULT_OK) {
Toast.makeText(this, "Show dialog", Toast.LENGTH_SHORT).show();
DialogChoiceActivity dialogChoiceActivity = new DialogChoiceActivity();
dialogChoiceActivity.show(getSupportFragmentManager(),"mydialog");
} else if (resultCode == Activity.RESULT_CANCELED) {
Toast.makeText(this, "Don't show dialog", Toast.LENGTH_SHORT).show();
}
}
}
TransparentTip
public class TransparentTip extends Activity {
public static int countTransp=0;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.transparent_tip);
Button ok=(Button)findViewById(R.id.bToK);
}
public void buttonClick(View view)
{
if (view.getId() == R.id.bToK)
{
final Intent intent = new Intent();
setResult(Activity.RESULT_OK, intent);
finish();
}
}
DialogChoiceActivity
public class DialogChoiceActivity extends DialogFragment {
LayoutInflater inflater;
View v;
public Dialog onCreateDialog(Bundle savedInstanceState) {
inflater = getActivity().getLayoutInflater();
v = inflater.inflate(R.layout.dialog_email, null);
final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle("Email " + " 1/10");
builder..setNegativeButton("Exit", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Intent intent = new Intent(getActivity(), MainActivity.class);
startActivity(intent);
}
});
return builder.create();
}
}
Une fois que Transparent n'est plus visible, je souhaite afficher Dialog au-dessus de MainActivity. J'ai essayé d'afficher ce dialogue surResume à mais je reçois une erreur similaire
dialogChoiceActivity.show (getSupportFragmentManager(), "monDialogue"); problème est en ligne poster votre code de classe DialogChoiceActivity ici –
@HiteshGehlot ok je mets le code de dialogue –
Je dois ajouter que si j'appelle normalement cette boîte de dialogue sans transparent cela fonctionne donc pas ici problème –