0

Androidアプリでランチャー画面を一度だけ表示したい。次に、ユーザーが2番目の画面にいる場合、戻るボタンを押すと、アプリを閉じます。このコードのどこが間違っていますか? 最初の画面に、あってはならないことが再び表示されます。

public class MainActivity extends Activity {

    private boolean firstscreenshown=false; 

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        if (firstscreenshown==true) finish();
        firstscreenshown=true;

また

public class MainActivity extends Activity {

    private boolean firstscreenshown; 

    public MainActivity() {
        this.firstscreenshown = false;
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        if (firstscreenshown==true) finish();
        firstscreenshown=true;
4

4 に答える 4

0

2 番目のアクティビティへの呼び出しの後に終了を呼び出すため、2 番目の画面が表示されると、前の画面は消去されます。

startActivity(intent)

于 2013-07-07T17:15:28.217 に答える
0

これを実現する最も簡単な方法は、onPause() メソッドをオーバーライドして次のように呼び出すことです。

finish();

最初のアクティビティの中に!

于 2013-07-07T17:19:59.047 に答える
0

MainActivity クラスの [戻る] ボタンを処理するには、次のコードを使用します。

@Override
    public void onBackPressed()
        {
            // TODO Auto-generated method stub
            super.onBackPressed();
            Intent startMain = new Intent(Intent.ACTION_MAIN);
            startMain.addCategory(Intent.CATEGORY_HOME);
            startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            startActivity(startMain);
        }
于 2013-07-07T13:34:04.123 に答える
0

アプリを初めて実行したときに表示される免責事項ビューがあります。これが私がそれを処理する方法です:

public class MainActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // check preferences to see if disclaimer has been display
    boolean showDisclaimer = getPreferences(MODE_PRIVATE).getBoolean("disclaimer", true);
    if (showDisclaimer) {

        // turn off the disclaimer
        getPreferences(MODE_PRIVATE).edit().putBoolean("disclaimer",false).commit();

        // display the disclaimer
        Intent intent = new Intent(MainActivity.this, LegalActivity.class);
        startActivity(intent);
    }

    setContentView(R.layout.activity_main);
}

免責事項のアクティビティは次のとおりです。

public class LegalActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.legal_detail);

    // Watch for guide button clicks.
    Button button = (Button) this.findViewById(R.id.legal_button);
    button.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
            finish();
        }
    });
}

私の免責事項ビューには、それを閉じる完了ボタンがあります。

お役に立てれば!

于 2013-07-07T13:25:31.617 に答える