Java 安卓的意图一直失败

Java 安卓的意图一直失败,java,android,eclipse,android-intent,Java,Android,Eclipse,Android Intent,有人知道为什么这个意图失败了吗 这是原木猫的原木 04-08 10:52:51.782: E/SpannableStringBuilder(10411): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length 04-08 10:52:51.782: E/SpannableStringBuilder(10411): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length 04-

有人知道为什么这个意图失败了吗

这是原木猫的原木

04-08 10:52:51.782: E/SpannableStringBuilder(10411): SPAN_EXCLUSIVE_EXCLUSIVE spans  cannot have a zero length
04-08 10:52:51.782: E/SpannableStringBuilder(10411): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length 
04-08 10:52:52.542: E/SpannableStringBuilder(10411): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
04-08 10:52:52.542: E/SpannableStringBuilder(10411): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
04-08 10:52:53.797: E/AndroidRuntime(10411): FATAL EXCEPTION: main
04-08 10:52:53.797: E/AndroidRuntime(10411): java.lang.RuntimeException: Unable to start   activity ComponentInfo   {com.better.work.learning.letters.and.more.awesome/com.better.work.learning.letters.and.more.awesome.spellingLevel1}: android.content.res.Resources$NotFoundException: Resource ID #0x16
04-08 10:52:53.797: E/AndroidRuntime(10411):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2100)
04-08 10:52:53.797: E/AndroidRuntime(10411):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2125)
04-08 10:52:53.797: E/AndroidRuntime(10411):    at android.app.ActivityThread.access$600(ActivityThread.java:140)
04-08 10:52:53.797: E/AndroidRuntime(10411):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1227)
04-08 10:52:53.797: E/AndroidRuntime(10411):    at android.os.Handler.dispatchMessage(Handler.java:99)
04-08 10:52:53.797: E/AndroidRuntime(10411):    at android.os.Looper.loop(Looper.java:137)
04-08 10:52:53.797: E/AndroidRuntime(10411):    at android.app.ActivityThread.main(ActivityThread.java:4898)
04-08 10:52:53.797: E/AndroidRuntime(10411):    at java.lang.reflect.Method.invokeNative(Native Method)
04-08 10:52:53.797: E/AndroidRuntime(10411):    at java.lang.reflect.Method.invoke(Method.java:511)
04-08 10:52:53.797: E/AndroidRuntime(10411):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1008)
04-08 10:52:53.797: E/AndroidRuntime(10411):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:775)
04-08 10:52:53.797: E/AndroidRuntime(10411):    at dalvik.system.NativeStart.main(Native Method)
04-08 10:52:53.797: E/AndroidRuntime(10411): Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x16
04-08 10:52:53.797: E/AndroidRuntime(10411):    at android.content.res.Resources.getValue(Resources.java:1026)
04-08 10:52:53.797: E/AndroidRuntime(10411):    at android.content.res.Resources.getDrawable(Resources.java:671)
04-08 10:52:53.797: E/AndroidRuntime(10411):    at android.view.View.setBackgroundResource(View.java:14494)
04-08 10:52:53.797: E/AndroidRuntime(10411):    at com.better.work.learning.letters.and.more.awesome.spellingLevel1.onCreate(spellingLevel1.java:72)
04-08 10:52:53.797: E/AndroidRuntime(10411):    at android.app.Activity.performCreate(Activity.java:5206)
04-08 10:52:53.797: E/AndroidRuntime(10411):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
04-08 10:52:53.797: E/AndroidRuntime(10411):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2064)
04-08 10:52:53.797: E/AndroidRuntime(10411):    ... 11 more
代码不断失败这里是清单文件

这不是完整的代码,但基本上代码没有错误。当我尝试加载扩展活动并导入的sellingLevel1类时,它失败了。它也包括在包中,与其他所有内容一样。当我单击spellingLevelPicker类上的按钮1时,应用程序也会运行,但不会失败

编辑

好吧,这里失败了

公共类拼写级别1扩展活动{

Context mContext = null;
private RelativeLayout mCanvasContainer;
private SCanvasView mSCanvas;
private ImageView mImageView1,mImageView2,mImageView3,mImageView4,mImageView5,mImageView6,mImageView7,mImageView8;
public int currentLetter;
private int rando;
int[] myImageList = {
        R.drawable.lettersa, R.drawable.lettersb,
        R.drawable.lettersc, R.drawable.lettersd,
        R.drawable.letterse, R.drawable.lettersf, R.drawable.lettersg,
        R.drawable.lettersh, R.drawable.lettersi, R.drawable.lettersj,
        R.drawable.lettersk, R.drawable.lettersl, R.drawable.lettersm,
        R.drawable.lettersn, R.drawable.letterso, R.drawable.lettersp,
        R.drawable.lettersq, R.drawable.lettersr, R.drawable.letterss, R.drawable.letterst,
        R.drawable.lettersu, R.drawable.lettersv, R.drawable.lettersw,
        R.drawable.lettersx, R.drawable.lettersy, R.drawable.lettersz};





/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.spelling);

    mContext = this;
    mCanvasContainer = (RelativeLayout) findViewById(R.id.canvas_container);
    mSCanvas = new SCanvasView(mContext);




ImageView mImageView01 = (ImageView) findViewById(R.id.imageView1);       
ImageView mImageView02 = (ImageView) findViewById(R.id.imageView2);       
ImageView mImageView03 = (ImageView) findViewById(R.id.imageView3);       
ImageView mImageView04 = (ImageView) findViewById(R.id.imageView4);       
ImageView mImageView05 = (ImageView) findViewById(R.id.imageView5);       
ImageView mImageView06 = (ImageView) findViewById(R.id.imageView6);       
ImageView mImageView07 = (ImageView) findViewById(R.id.imageView7);       
ImageView mImageView08 = (ImageView) findViewById(R.id.imageView8);       
Random rando = new Random();


currentLetter = rando.nextInt(myImageList.length);

mImageView01.setBackgroundResource(currentLetter);
mImageView02.setBackgroundResource(currentLetter);
mImageView03.setBackgroundResource(currentLetter);
mImageView04.setBackgroundResource(currentLetter);

}
}


下面的destroy上有一个公共空白,但是如果我对imageview set background resources进行注释,它不会失败

首先创建一个
私有上下文
作为类的成员

然后在onCreate中添加以下内容:
this.context=context

或者,如果您在一个视图类中,您可以将上下文从活动传递到构造函数,因此它将如下所示

public className(Context context) {
     this.context = context;
}
最后一个改变就是这个

mLevel1.setOnClickListener(new OnClickListener() {
        public void onClick (View v) {
            Intent myIntent = new Intent(v.getContext(), spellingLevel1.class); //Coming soon 
            startActivityForResult(myIntent, 0);        

        }
        });
对此

mLevel1.setOnClickListener(new OnClickListener() {
        public void onClick (View v) {
            Intent myIntent = new Intent(context, spellingLevel1.class); //Coming soon 
            startActivityForResult(myIntent, 0);        

        }
        });
我希望这能回答你的问题:)
如果您对我的答案有任何疑问,请随时在评论中提问:)

日志中的这些行

04-08 10:52:53.797: E/AndroidRuntime(10411):    at android.content.res.Resources.getDrawable(Resources.java:671)
04-08 10:52:53.797: E/AndroidRuntime(10411):    at android.view.View.setBackgroundResource(View.java:14494)
04-08 10:52:53.797: E/AndroidRuntime(10411):    at com.better.work.learning.letters.and.more.awesome.spellingLevel1.onCreate(spellingLevel1.java:72)
告诉我您的问题是您试图在onCreate方法中引用的一个Drawable。检查文件结构中包含的可提取项列表,以验证您是否拥有列出的所有可提取项。(并调试失败时获得的值)

而不是

currentLetter = rando.nextInt(myImageList.length);
(这将给您一个介于0和myImageList.length-1之间的值)您需要使用

currentLetter = myImageList[rando.nextInt(myImageList.length)];

(这将为您的可绘制资源生成int)

我的问题的答案是代码中没有任何错误我被调用的图片太大,并且与其他图像视图冲突,因此导致可绘制资源的错误

不要使用v.context作为上下文,改为使用getApplicationContext、this、getActivity或classname。this检查您在拼写级别1中调用的资源。其中一个可能拼写错误(更好的方法是:发布该类的代码)午餐后会回来我的问题是,我有相同的代码(只是将spellinglevel.class更改为该类)就在它开始工作之前,我会在下一节给你看comment@RichTalcik好的,请在这里发布您的拼写级别1类->谢谢也发布布局(xml)我只调用该类中的字母,当我这样做时,它们在可绘制文件夹中。因为它们在其他类中被称为“基本上有故障”,因为可抽绳在那里,它们被另一类调用并正常工作,我想这是因为绘图板为imageview设置了背景,这就是它不能正常工作的原因。我把imageView01.setBackgroundResources(currentLetter)注释掉了,它可以工作,所以这就是它失败的地方。接下来的3个setbackground资源行我找到了答案。我打电话给的照片太大了,因此它不适合布局给我一个错误好的,我还没有完全测试它,但我会的