错误获取资源编号的值时没有包标识符

时间:2010-08-03 18:50:33

标签: android android-layout android-resources

两个活动都在同一个包中

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

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 

mail.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"/>

11 个答案:

答案 0 :(得分:106)

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

TextView.setText( int resId );

由于没有具有该值的资源,因此无效。

答案 1 :(得分:40)

面对同样的错误

最后我发现它不是因为你的xml布局错误

代码集TextView.setText(int)

中的某处

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

答案 2 :(得分:8)

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

答案 3 :(得分:7)

仅针对协议,您也可以使用:

TextView.setText("" + intVar)代替TextView.setText(intVar)

答案 4 :(得分:5)

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

答案 5 :(得分:3)

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

答案 6 :(得分:2)

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

答案 7 :(得分:2)

这是由于类型错误造成的。 你必须尝试这个 - TextView.setText(Integer.toString(变量名));

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

答案 8 :(得分:1)

来自Android TextView Documentation

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

答案 9 :(得分:0)

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

答案 10 :(得分:0)

我最近遇到了这个问题,当时我试图将SocialAuth libray与我的Android应用程序与Android Studio集成。我的问题是,我的一些资源,比如facebook图标,都在 mipamp 文件夹中。我将其移至 drawables 文件夹,问题得到解决。