由于"获取资源编号值时没有包标识符......"而崩溃

tmc*_*ham 9 java xml debugging resources android

好的,在搜索了我可以在这个主题上找到的各种主题之后,尝试了一些似乎对其他人有用的东西......我已经屈服于发布我自己的问题的必要性.

作为Android和Java的总菜鸟,你将不得不原谅像孩子一样跟我说话的需要:)

我有一个到目前为止有3个活动的应用程序.一个主窗口,用作导航屏幕,用于选择其他两个中的一个.第一个工作完美,但当我尝试2号按钮时......它崩溃了.

我有一些代码,我试图在onCreate上运行...所以当我看到它通常是导致崩溃的XML布局时......我注释掉了Java代码......并且presto布局加载正常.

将代码重新放入,它再次崩溃.

查看LogCat,我看到一行显示"获取资源编号0x0000000d的值时没有包标识符"

然后是关于致命异常和关闭虚拟机的各种线路.

因此,我从其他帖子中获得了信心,我去了R.java文件,看看哪个资源有那个ID ...而且它不在那里.它们全部以0x7f开头...现在唯一以"d"结尾的是具有ID"game_Answer1"的文本视图.但我不确定这是否是它所指的.

我确实尝试过Eclipse clean命令,以及删除R.java ...同样的问题.

下面是似乎崩溃的java代码...再次,在我的意大利面条代码中笑声,因为这是Java中的尝试#2,超越了一个hello world app!


import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
import java.util.Random;
public class playgame extends Activity {


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

    //set up first question
    genQuestion();

}


Random generator = new Random();

public void genQuestion() {
    int i = generator.nextInt(25);
    int correct = generator.nextInt(2)+1;
    TextView g_answera = (TextView) findViewById(R.id.game_Answer1);
    TextView g_answerb = (TextView) findViewById(R.id.game_Answer2);
    TextView g_answerc = (TextView) findViewById(R.id.game_Answer3);


    g_answera.setText("-");
    g_answerb.setText("-");
    g_answerc.setText("-");

    if(correct==1){
        g_answera.setText("!");
    }
    if(correct==2){
        g_answerb.setText("!");
    }
    if(correct==3){
        g_answerc.setText("!");
    }

}
Run Code Online (Sandbox Code Playgroud)

下面是与此问题相关的XML布局...以防万一我遗漏了一些明显的东西:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" android:background="#ffffff"  android:id="@+id/gamelayoutwrapper">
<RelativeLayout android:layout_height="wrap_content" android:id="@+id/games_animalnameFrame" android:layout_width="fill_parent" android:gravity="right">
    <TextView android:layout_height="wrap_content" android:id="@+id/game_animalname" android:layout_width="fill_parent" android:textSize="60sp" android:layout_alignParentRight="true" android:gravity="right" android:text="__nteater"></TextView>
</RelativeLayout>
<RelativeLayout android:layout_width="wrap_content" android:id="@+id/game_animalimageFrame" android:layout_below="@+id/games_animalnameFrame" android:layout_centerInParent="true" android:layout_height="wrap_content" android:gravity="top">
    <ImageView android:id="@+id/game_animalImage" android:src="@drawable/elephant" android:scaleType="fitCenter" android:layout_width="fill_parent" android:layout_height="fill_parent" android:paddingBottom="10dp"></ImageView>
</RelativeLayout>
<RelativeLayout android:layout_height="wrap_content" android:id="@+id/gameLettersFrame" android:layout_alignParentBottom="true" android:layout_width="fill_parent" android:layout_centerHorizontal="true" android:background="#cccccc">

            <TextView android:layout_height="wrap_content" android:id="@+id/game_Answer1" android:text="A" android:paddingLeft="20dp" android:paddingRight="20dp" android:layout_gravity="left" android:clickable="true" android:textSize="100sp" android:layout_width="wrap_content" android:layout_alignParentLeft="true" android:textColor="#090999" android:background="#ccccFF"></TextView>
            <TextView android:layout_height="wrap_content" android:id="@+id/game_Answer2" android:text="B" android:paddingLeft="20dp" android:paddingRight="20dp" android:layout_gravity="center_horizontal" android:clickable="true" android:textSize="100sp" android:layout_width="wrap_content" android:layout_centerInParent="true" android:textColor="#090999" android:background="#ffcccc"></TextView>
            <TextView android:layout_height="wrap_content" android:id="@+id/game_Answer3" android:text="C" android:paddingLeft="20dp" android:paddingRight="20dp" android:layout_gravity="right" android:clickable="true" android:textSize="100sp" android:layout_width="wrap_content" android:layout_alignParentLeft="false" android:layout_alignParentRight="true" android:textColor="#090999" android:background="#ccffcc"></TextView>

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

小智 49

我刚才遇到了同样的问题,我认为它是固定的,但我认为另一个答案总是受欢迎:)当使用setText()方法时,你不能发送原始数据类型,如int和double,而是转换为字符串然后通过字符串发送.当它弹出时,这解决了我的问题


Hak*_*bay 0

在你的 R.java 文件中,是否存在 gamelayout 的 id?这应该位于 public static final class layout { }R 文件中?这是确定应用程序崩溃原因的第一个重要步骤。