나는 간단한 응용 프로그램을 먼저 MainActivity를 표시 한 다음 MainActivity를 볼 수있게 된 후 TransparentActivity를 표시합니다. 그 후 onClick은 TransparentActivity를 죽이고 대화 상자를 만들고 표시합니다. 마지막 단계에서 내가 얻을 오류결과 전달 실패 ResultInfo | java.lang.IllegalStateException : onSaveInstanceState 후이 작업을 수행 할 수 없습니다.
오류
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
,559,Transparent가 더 이상 표시되지 않으면 MainActivity 위의 대화 상자를 표시하려고합니다. 나는이 대화 상자를 표시하는 tryed를 시도했지만 비슷한 오류가 발생합니다.
dialogChoiceActivity.show (getSupportFragmentManager(), "mydialog"); 문제는 라인에 DialogChoiceActivity 클래스 코드를 게시합니다. –
@HiteshGehlot ok 코드 대화 상자를 넣으십시오. –
제가 추가해야합니다. 투명하지 않고이 대화 상자를 호출하면 문제가없는 것입니다. –