无法在ActionItems上听取点击次数

时间:2013-12-16 10:22:14

标签: android actionbarsherlock

我在android v 2.3.6的设备中使用actionBarSherlock并且我无法收听ActionItems中的点击,而当我在模拟器中运行应用程序时,这不会发生android 4.1是否存在兼容性问题?可以做些什么吗?

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

    setContentView(R.layout.activity_main);

    BitmapDrawable bg = (BitmapDrawable)getResources().getDrawable(R.drawable.barbitmap);
    bg.setTileModeXY(TileMode.REPEAT, TileMode.REPEAT);
    getSupportActionBar().setBackgroundDrawable(bg);


    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}


        @Override
    public boolean onMenuItemSelected(int featureId, MenuItem item) {


        int itemId = item.getItemId();
        System.out.println(itemId);

        if(itemId==android.R.id.home){
            finish();
            return false;
        }   
        return false;
    }

3 个答案:

答案 0 :(得分:1)

public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case android.R.id.home:
                // Navigate "up" the demo structure to the launchpad activity.
                // See http://developer.android.com/design/patterns/navigation.html for more.

                return true;

           }

        return super.onOptionsItemSelected(item);
    }

答案 1 :(得分:1)

确保您要导入此

import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuItem;

不是这个

import android.view.Menu;
import android.view.MenuItem;

然后使用

@Override
    public boolean onOptionsItemSelected(MenuItem item)
    {

        int id = item.getItemId();
        switch (id)
        {
        case R.id.action_bar_menu_refresh:
         }
    }

答案 2 :(得分:0)

尝试改为覆盖onOptionItemnSelected()