什么是android.R导入,如果我导入它们是一个错误,如果我不是每件事都运行正常。 Android的

时间:2014-09-06 14:45:19

标签: android eclipse

为什么eclipse本身会导入android.R,因为当它使用位图并从我项目的res文件夹中的可绘制文件中获取图片时会出现错误。下面是我的代码。错误出现在以下行中:

Bitmap tempBitmap = BitmapFactory.decodeResource(myContext.getResources(), R.drawable.card_back);

它说card_back即使在res里面的drawable文件夹中是一个png文件也无法解析。此外,如果我从文件中删除导入android.R它完全正常,我是新的Android任何帮助是受欢迎的。

import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Random;
import android.R;

import android.R.color;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.hardware.Camera.Size;
import android.view.MotionEvent;
import android.view.View;
import android.graphics.Color;;




@Override
public void onSizeChanged (int w, int h, int oldw, int oldh){
     super.onSizeChanged(w, h, oldw, oldh);
        screenW = w;
        screenH = h;

        Bitmap tempBitmap = BitmapFactory.decodeResource(myContext.getResources(), R.drawable.card_back);
        scaledCardW = (int) (screenW/8);
        scaledCardH = (int) (scaledCardW*1.28);
        cardBack = Bitmap.createScaledBitmap(tempBitmap, scaledCardW, scaledCardH, false); 

      initCards();
      dealCard();
      drawCard(discardPile);
     // initCards();


}

2 个答案:

答案 0 :(得分:1)

您通常应该导入项目自己的R课程,即your.app.package.R。您在项目的res /文件夹下定义的值将生成到该类中。如果您需要在Android R中引用股票字符串或其他内容,请使用其完全限定名称,例如android.R.string.yes

答案 1 :(得分:0)

这是因为你导入了android资源(android.R),而不是你的。如果要使用保留在res文件夹中的任何资源,则必须不导入任何资源,因为可以从项目的任何类访问自动生成R.class范围。