无法解析类型R.anim

时间:2014-08-12 17:08:49

标签: android

我有三个项目涉及这个问题 第一个项目API(包含接口) 第二个项目绘制我的菜单并调用接口方法

mItemClick.expandViewPageAdapter((BaseActivity)getActivity());

第三个项目实现了接口

public class FragmentFullMenuSmartphone extends Fragment implements PerformActionController {

@Override
public void expandViewPageAdapter(BaseActivity activity) {
  activity
            .getSupportFragmentManager()
            .beginTransaction()
            .setCustomAnimations(R.anim.translate_left_full_from_end,
                    R.anim.translate_left_full_from_start,
                    R.anim.translate_right_full_to_start, 
                    R.anim.translate_right_full_to_end)
            .replace(R.id.transactional_content_smartphone, new FragmentViewPager(),FragmentViewPager.TAG).addToBackStack(BACKSTACK_FULL_MENU).commit();

}

问题是:如果我调用android.R就行,我找不到mynamespace.R类。

添加更多信息:

我的界面在项目1(API)

import br.com.bb.android.BaseActivity;

public interface PerformActionController {

    void expandViewPageAdapter(BaseActivity activity);

}

我的类调用接口方法

public class MenuContentFragment extends FacebankTabFragment implements OnFinishLoadFaceBankService {

private static PerformActionController mItemClick;

public static MenuContentFragment newInstance(PerformActionController itemClick) {
    mItemClick = itemClick;
    MenuContentFragment mcf = new MenuContentFragment();

    return mcf;
}

 protected void buildMenuItem(ItemDeMenuTransacional item, boolean isSubmenu) {
    containerItem.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            ItemDeMenuTransacional selectedItem = (ItemDeMenuTransacional)v.getTag();

            if (selectedItem.isLeaf()) {
                mItemClick.expandViewPageAdapter((BaseActivity)getActivity());
    }
}

提前致谢。

4 个答案:

答案 0 :(得分:0)

android.R用于系统资源(股票图标等)。您的R课程适用于您自己的资产。如果无法解析R,则通常意味着您的某个资源文件中出现错误,导致无法生成R类。

答案 1 :(得分:0)

您使用的是Android Studio吗?我发现AS有时会决定忘记你的R文件的位置。重启Android Studio对我有用。

答案 2 :(得分:0)

我为此问题做了一个解决方法。 我将资源声明为实例变量 像:

private final int resource = <mynamespace>.R.anim.<animname>

我使用后者。我不明白为什么这个特定方法无法找到我的资源文件。好吧,我会继续寻找。

如果有人弄清楚,请告诉我。

谢谢你们。

答案 3 :(得分:0)

我终于弄明白发生了什么!我在带有Android L的Nexus 5手机中编译它。这个版本仍然充满了bug。我在另一部手机上测试过,现在一切正常。

谢谢大家!