0

私はこれを説明する方法がわかりません。メニューやリストのように、(他のアクティビティへの) リンクでいっぱいの 2 つのアクティビティがあります。基本的に、リンクを「物理学」と「数学」に分けることができます (はい、教育のためにこれが必要です)。次のように、アクションバーに 2 つのリンクを作成しました。

<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item 
        android:id="@+id/menu_settings"
        android:orderInCategory="100"
        android:showAsAction="never" />
    <item 
        android:id="@+id/maths"
        android:title="@string/maths"
        android:orderInCategory="1"
        android:showAsAction="always|withText" 
        android:titleCondensed="@string/maths" 
        android:icon="@drawable/ic_action_calculator" /> 
    <item 
        android:id="@+id/physics"
        android:icon="@drawable/ic_action_line_chart"
        android:title="@string/physics"
        android:orderInCategory="2"
        android:showAsAction="always|withText"/>
</menu>

アプリの下部に「タブ」のようなものがあります。次のコードも機能しています。

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.activity_home, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case R.id.maths:
            return true;
        case R.id.physics:
            Intent myIntent2 = new Intent(Home.this, ActivityPhysics.class);
            startActivity(myIntent2);
        default:
            return super.onOptionsItemSelected(item);
    }
}

ご覧のとおり、「数学」をクリックしても何も起こりません。なぜなら、私はすでに数学を学んでいるためです。

「物理」をクリックすると、ActivityPhysics が開きます。

私の問題は、物理をクリックして物理に移動し、次に数学をクリックして数学に移動すると、何度も戻るボタンを押す必要があり、数学に戻って戻ってくることです。物理学...(何を言っているのかわかりますか? すみません、私はドイツ人です:D)

ええ、その「バックバックバックバック」は最悪です:)

4

1 に答える 1

0

わかりましたので、この質問に回答を付けて直接投稿します。これは、書いているときに独創的なアイデアを思いついたからです:D「アップ」ボタンのコードを見たことがあります(Gmailなどのように)。「go to home.java」を「go to home.java」に置き換えるだけです。

したがって、システムは、別のアクティビティへのリンクではなく、「戻る」ボタンのようなものだと考えます:)

したがって、これを置き換える必要があります:

Intent myIntent2 = new Intent(ActivityPhysics.this, Home.class);
startActivity(myIntent2);

これとともに:

Intent intent = new Intent(this, Home.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);

これは私にとってはうまくいき、minSdkVersion 14を使用しました:)

于 2012-11-06T18:00:31.560 に答える