0

SherlockActionBar のアクション項目をクリックして、新しいインテントを読み込もうとしています。私のコードは次のとおりです。

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        if (item.getItemId() == R.id.nav_plan) {
            return true;
        } else if (item.getItemId() == R.id.nav_my_plans) {
            Intent MyPlansIntent = new Intent(this, MyPlans.class);
            startActivity(MyPlansIntent);
            return true;
        } else if (item.getItemId() == R.id.nav_invites) {
            Intent InvitesIntent = new Intent(this, Invites.class);
            startActivity(InvitesIntent);
            return true;
        } else {
            return super.onOptionsItemSelected(item);
        }
    }   

    public boolean onCreateOptionsMenu(Menu paramMenu) {
        getSupportMenuInflater().inflate(R.menu.main_nav, paramMenu);
        return true;
    }

これらは私の輸入品です:

import com.actionbarsherlock.app.SherlockActivity;
import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuItem;
import com.app.R;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;

ただし、クリックは無反応です。私は何か間違ったことをしていますか?

ありがとう

4

1 に答える 1

1

この方法を試してください:

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

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    Intent i;
    switch (item.getItemId()) {

    case R.id.nav_plan:
        return true;

    case R.id.nav_my_plans:
        i = new Intent(YOUR_ACTIVITY_CLASS_NAME.this, MyPlans.class);
        startActivity(i);
        return true;

    case R.id.nav_invites:
        i = new Intent(YOUR_ACTIVITY_CLASS_NAME.this, Invites.class);
        startActivity(i);
        return true;
     }
    return super.onOptionsItemSelected(item);
}
于 2012-12-05T01:26:54.067 に答える