菜单项支持上的SetActionView

时间:2014-03-02 15:55:23

标签: android android-actionbar menuitem

您好我正在实施位于操作栏上的刷新图标的旋转动画。当我在较新的api上运行我的应用程序时,一切正常。但是当我在api 8上运行时,我遇到了setActionView的问题。请帮忙。

public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
        case R.id.action_refresh:

            item.setActionView(getAnimation());

            getCurrency(code,null);
            mViewpager.setVisibility(View.INVISIBLE);
            Log.i("TAG", "refresh pressed =>");
            return true;
        }

        // Handle your other action bar items...

        return super.onOptionsItemSelected(item);
    }

getAnimation方法

public View getAnimation(){
        LayoutInflater inflater1 = (LayoutInflater) getActivity().getApplication()
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                ImageView iv = (ImageView) inflater1.inflate(R.layout.action_refresh,
                null);
                Animation rotation = AnimationUtils.loadAnimation(getActivity().getApplicationContext(),
                        R.anim.refresh_rotate);
                rotation.setRepeatCount(Animation.INFINITE);
                iv.startAnimation(rotation);
                return iv;
    }

1 个答案:

答案 0 :(得分:2)

我不确定你的问题是什么,但似乎你使用的是8级无法使用的API。

改变这个:

item.setActionView(getAnimation());

对此:

MenuItemCompat.setActionView(item,getAnimation());