5

AndroidのAPIレベル15でのactionBarの互換性に問題があります。上ボタンはこのAPIレベルではうまく機能しません

android-sdkフォルダーにある「actionbarcompat」というサンプルプロジェクトを使用しているので、すべてのクラスをインポートし、ActionBarActivityを使用してすべてのアクティビティを拡張します。また、すべてのアクティビティのマニフェストにこのコードを追加します。

<activity
    android:name="fr.appsolute.rescue.MyActivity"
    android:label="@string/title_activity_info"
    android:parentActivityName=".MainActivity"
    android:screenOrientation="portrait" >
    <meta-data
        android:name="android.support.PARENT_ACTIVITY"
        android:value=".MainActivity" />
</activity>

そして私のActionBarActivityで:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // TODO Auto-generated method stub
    switch(item.getItemId()){
    case android.R.id.home:
        NavUtils.navigateUpFromSameTask(this);
        return true;
    }
    return super.onOptionsItemSelected(item);
}

これにより、ユーザーは上ボタン(アプリアイコン付き)をタッチしてMainActivityに戻ることができます

このコードはAndroid2.3.3および4.2でうまく機能しますが、4.0.1では機能せず、その理由がわかりません。ユーザーが上ボタンをタッチしても、何も起こりません。

ご協力いただきありがとうございます。

PS:外部ライブラリを使用できません。ネイティブコードを使用する必要があります

4

2 に答える 2

0

なぜ機能しないのかわからない。API15でのみ失敗するのは奇妙だと私は同意します。

呼び出す代わりに、を呼び出すNavUtils.navigateUpFromSameTask(this)こともできますfinish()。これにより、現在のアクティビティが閉じられ、スタック内の前のアクティビティに移動します。それはあなたに同じ望ましい結果を与えるかもしれません。

于 2012-12-04T16:31:40.027 に答える
0

ActionBarSherlock を使用して解決しました

于 2016-09-28T13:37:31.993 に答える