【问题标题】:ERROR No package identifier when getting value for resource number错误获取资源编号的值时没有包标识符
【发布时间】:2010-08-03 18:50:32
【问题描述】:

两个活动都在同一个包中

第二个活动使用第二个布局文件

setContentView(R.layout.main2);

Second_Activity 中这一行的错误。

EditText text1 = (EditText) findViewById(R.id.EditText03);

这是 Second_Activity 的布局文件。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <LinearLayout
        android:id="@+id/LinearLayout01"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <TextView
            android:id="@+id/TextView01"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Answer Is : " >
        </TextView>

        <EditText
            android:id="@+id/EditText03"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >
        </EditText>
    </LinearLayout>

    <Button
        android:id="@+id/Button01"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="onClick"
        android:text="Calling an intent" >
    </Button>

</LinearLayout>

这里是 LogCat 窗口中的错误

08-01 19:32:20.340: WARN/ResourceType(8875): No package identifier when getting value for resource number 0x00000005
08-01 19:32:20.390: ERROR/AndroidRuntime(8875): Caused by: android.content.res.Resources$NotFoundException: String resource ID #0x5 

邮件.xml

<TextView 
    android:id="@+id/TextView01" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" android:text="First Number : ">
</TextView>

<EditText 
    android:id="@+id/EditText01" 
    android:inputType="number"
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content">
</EditText>

<TextView 
    android:id="@+id/TextView02" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" android:text="Second Number: ">
</TextView>

<EditText 
    android:id="@+id/EditText02" 
    android:inputType="number"
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content">
</EditText>

secondscreen.xml

<TextView 
    android:id="@+id/TextView03" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" android:text="Answer Is : ">
</TextView>

<EditText 
    android:id="@+id/main2EditText01" 
    android:inputType="number"
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content">
</EditText>

清单 xml 文件

    <activity android:name=".ActivityTwo"/>

【问题讨论】:

  • 您的 XML 文件存在语法错误,导致您在 R 中的 ID 无法生成。您可以发布其余的 XML 文件吗?也许你错过了一个关闭标签或其他东西。
  • 新这里不确定如何将 xml 文件作为回复放入
  • 哦;将其粘贴在您的问题中很好。 :)
  • 嗯.. 我看不出你发布的内容有什么问题;您是否将视图放入布局中(布局 xml 是否正确?)?
  • 我将它从 EditText 更改为 TextFiled,它工作得很好。奇数

标签: android android-layout android-resources


【解决方案1】:

当我尝试使用 TextView.setText 传递 char 而不是 String 时,我收到了同样的错误消息。这是有道理的,因为 char 将被提升为 int,这意味着我真的在调用

TextView.setText( int resId );

而且由于没有具有该值的资源,因此它不起作用。

【讨论】:

  • 谢谢。我试图用 setText() 发送一个整数。使用 Integer.toString 对我有用。
  • 这是这个问题的实际原因。我没有向下滚动并尝试接受接受的答案。但我终于想通了,来到这里作为答案。但是@John 已经说过了 :) 我使用了 TextView.setText(String.valueOf(myIntValue));
  • 有完全相同的问题
【解决方案2】:

面对同样的错误

最后我发现它不是由于您的 xml 布局而导致的错误

在你的代码集中TextView.setText(int)

试试TextView.setText( Integer.toString(int));

【讨论】:

  • 我为此奋斗了一个小时,结果发现除了将字符串传递给 setText() 之外,我做的一切都很好,谢谢!
【解决方案3】:

当您将整数传递给要显示的TextView.setText() 时,android 假定它是一个资源ID,这就是您得到Resource$NotFoundException 的原因。尝试将 int 转换为 String,然后再将其传递给 TextView.setText():TextView.setText(String.valueOf(i))

【讨论】:

    【解决方案4】:

    只是为了协议,你也可以使用:

    TextView.setText("" + intVar) 而不是TextView.setText(intVar)

    【讨论】:

      【解决方案5】:

      我在尝试打印整数值时遇到了同样的错误:TextView.setText(int value)。 我通过将整数值转换为字符串和我使用的来解决了这个错误 TextView.setText(转换后的字符串值)

      【讨论】:

        【解决方案6】:

        在我来这篇文章之前,我遇到了同样的问题。 对我来说,就像这样:view_element.setText( an_int_value)。 投完view_element.setText(String.valueOf(an_int_value));后,一切正常。

        【讨论】:

          【解决方案7】:

          来自Android TextView Documentation

          • setText(int resid) 使用字符串资源标识符设置要显示的文本。

          【讨论】:

            【解决方案8】:

            对我来说,我必须进入按钮的 XML 文件。在那里我注意到一个硬编码的字符串值。我必须删除它,而且我必须使用Textview.setText("" + intVar);

            【讨论】:

              【解决方案9】:

              这是由于类型转换错误。 你必须试试这个- TextView.setText(Integer.toString(variable_name));

              这里的 toString 用于将整数转换为字符串以显示文本。

              【讨论】:

              • 它根本没有回答这个问题......这里的问题显然是关于 id 没有正确生成
              【解决方案10】:

              我正在使用 Picasso 库从网络加载图像。 url 在 ArrayList 中我没有使用 arraylist.get() 来获取 url 在 ArrayList 中的位置。

              【讨论】:

                【解决方案11】:

                我最近遇到了这个问题,当时我试图将 SocialAuth 库与我的 Android 应用程序与 Android Studio 集成。我的问题是,我的一些资源(例如 facebook 图标)位于 mipamp 文件夹中。我将它移到 drawables 文件夹,问题得到解决。

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2015-08-16
                  • 2019-04-29
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多