대화 상자의 활동 확장을 방지하려면 어떻게해야합니까?Android 대화 상자에서 활동 확장 금지
주 활동에 만들면 "확인"을 클릭해도 새로운 활동이 만들어집니다. 새로 생성 된 활동은 MainActivity에서 확장됩니다.
공유 환경 설정을 사용하여 사용자가 앱을 열 때 사용자를 보낼 위치를 결정하고 있습니다. 그게이 상황에 부딪치게 될지 모르겠습니다.
대화 상자가 MainActivity를 확장하지 못하도록하고 싶습니다. 내가 만든 다른 활동에는 나타나지 않아야합니다. 같은 같은
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
SharedPreferences sharedPreferences = getSharedPreferences("version", 0);
int savedVersionCode = sharedPreferences.getInt("VersionCode", 0);
int appVershionCode = 0;
try { appVershionCode = getPackageManager().getPackageInfo(getPackageName(), 0).versionCode; }
catch (NameNotFoundException nnfe) { Log.w(TAG, "$ Exception because of appVershionCode : " + nnfe); }
if(savedVersionCode == appVershionCode){
// Returning user
Log.d(TAG, "$$ savedVersionCode == appVershionCode");
// Temporary Navigation
final Builder alertDialogBuilder = new Builder(this);
new AlertDialog.Builder(new ContextThemeWrapper(getBaseContext(), android.R.style.Theme_Dialog));
alertDialogBuilder.setTitle("Temporary Navigation");
alertDialogBuilder.setMessage("Go to the new activity.");
alertDialogBuilder.setPositiveButton("Okay", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Log.d(TAG, "$$ onClick");
Intent newactivity = new Intent(MAINACTIVITY.this,NEWACTIVITY.class);
startActivity(newactivity);
dialog.cancel();
}
});
alertDialogBuilder.show();
// End
} else {
// First time visitor
Log.d(TAG, "$$ savedVersionCode != appVershionCode");
// Hide graphics meant for returning users
((Button)findViewById(R.id.Button01)).setVisibility(View.INVISIBLE);
SharedPreferences.Editor sharedPreferencesEditor = sharedPreferences.edit();
sharedPreferencesEditor.putInt("VersionCode", appVershionCode);
sharedPreferencesEditor.commit();
Builder alertDialogBuilder = new Builder(this);
alertDialogBuilder.setTitle("Welcome");
alertDialogBuilder.setMessage("Click Okay to continue.");
alertDialogBuilder.setNeutralButton("Okay", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Log.d(TAG, "$$ onClick");
Intent leagues = new Intent(MAINACTIVITY.this,NEWACTIVITY.class);
startActivity(leagues);
}
});
alertDialogBuilder.show();
}
}
감사합니다. 그것은 비록 작동하지 않았다. "Okay"버튼을 클릭하면 새로운 액티비티가 생성되었지만 다이얼로그가 넘겨졌습니다. 전환 할 때마다 또는 새로운 활동을 만들 때마다 대화를 트리거 할 수있는 아무 것도하지 않더라도 대화 상자가 트리거됩니다. – localhost
@PeterMerrill 무슨 일이 일어나는지'onStart' 또는'onResume'이라고 말하기 위해 이것들을 이동 시키려고 했습니까? ... – TronicZomB
제안에 감사드립니다. @TronicZomB. 나는 그것을 시도했고 아무것도 바뀌지 않았다. – localhost