1

私はこの活動をしています

import android.os.Bundle;
import android.util.Log;

import com.actionbarsherlock.app.SherlockActivity;
import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuInflater;

public class AboutActivity extends SherlockActivity {
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.about);

        getSupportActionBar().setIcon(R.drawable.logo);
        getSupportActionBar().setDisplayOptions(0, getSupportActionBar().DISPLAY_SHOW_TITLE);
    }

    @Override
    public boolean onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu) {
        MenuInflater inflater = getSupportMenuInflater();
        inflater.inflate(R.layout.menu_back, menu);
        return super.onCreateOptionsMenu(menu);
    }
    @Override
    public boolean onOptionsItemSelected(
            com.actionbarsherlock.view.MenuItem item) {
        switch (item.getItemId()) {
        case R.id.back:
            AboutActivity.this.finish();
            return true;
        default:
            return false;
        }
    }
}

そしてこれは私のR.layout.menu_backです

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:id="@+id/back"
        android:icon="@drawable/arrow"
        android:showAsAction="ifRoom|withText"
    />
</menu>

私の問題は、メニューの[戻る]ボタンを最初にクリックしても何も起こらないことです。2回目にクリックすると正常に機能します。助言がありますか?

ありがとうございました

4

1 に答える 1

0

あなたのコードは私のために働いています。ただし、メニュー xml は、レイアウト フォルダーではなくメニュー フォルダーに保持する必要があります。そして、 return super.onOptionsItemSelected(item); を試すことができます。あなたのスイッチ命令のデフォルトセクションで。

于 2013-01-30T20:12:04.777 に答える