I have to develop an one android application.
I have created one alert dialog.If i have to rotate the orientation means that alert dialog is disappears.
But i wish to display the alert dialog when orientation changes.
@Override
public void onConfigurationChanged ( Configuration newConfig )
{
super.onConfigurationChanged(newConfig);
try
{
MainActivity.editCalled = true;
Intent in = new Intent(AndroidListFragmentActivity.this, AndroidListFragmentActivity.class);
startActivity(in);
finish();
}
catch (Exception e)
{
e.printStackTrace();
}
}
Here i have using two fragments...
In that 2nd fragment having one alert dialog:
ImageView share = (ImageView) findViewById(R.id.imageView5);
share.setOnClickListener(new OnClickListener()
{
public void onClick ( View v )
{
final CharSequence[] items =
{
"Facebook", "Twitter", "Email"
};
AlertDialog.Builder builder = new AlertDialog.Builder(SubCate.this);
builder.setTitle("Share Via:");
builder.setItems(items, new DialogInterface.OnClickListener()
{
public void onClick ( DialogInterface dialog , int item )
{
if (items[item] == "Facebook")
{
onFacebookClick();
}
if(items[item] == "Twitter"){
onClickTwitt();
}
if (items[item] == "Email")
{
Intent email = new Intent(Intent.ACTION_SEND);
email.setType("message/rfc822");
email.putExtra(Intent.EXTRA_EMAIL, new String[]
{
""
});
email.putExtra(Intent.EXTRA_SUBJECT, _Substring);
email.putExtra(Intent.EXTRA_TEXT, ContentEmail);
startActivity(Intent.createChooser(email, "Choose an Email client :"));
}
}
});
AlertDialog alert = builder.create();
alert.show();
}
});
}
Here only i have facing above problem..please give me solution for these ???
Setting
android:configChanges="orientation"
is not encouraged in Android. You can first declare theAlertdialog
in your fragment and then useonSavedInstanceState
:As suggested by many people here,
is not a solution. It's a hack at best. The correct way to handle this is to manage dialogs through your activity. You need to override a few methods in your activity code, Like so:
After you're done with this. You show your dialog using:
Once you're done implementing this, your'll see that your dialog will also be recreated if configuration changes occur. The best part is that your Activity will manage your dialog for you. It will be reused when possible, reducing dialog load times if you perform heavy initialization.