ОШИБКА Нет идентификатора пакета при получении значения для номера ресурса - PullRequest
19 голосов
/ 03 августа 2010

Оба действия находятся в одном пакете

Во втором действии используется второй файл макета

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 ]

107 голосов
/ 27 апреля 2011

Я получил то же сообщение об ошибке, когда пытался использовать TextView.setText, передавая символ вместо String. Это имеет смысл, поскольку char будет повышен до int, что означало, что я действительно вызываю

TextView.setText( int resId );

И поскольку не было ресурса с таким значением, он не будет работать.

41 голосов
/ 27 июня 2013

лицо с той же ошибкой

наконец-то я обнаружил, что это не ошибка из-за вашего XML-макета

где-то в вашем кодовом наборе TextView.setText(int)

попробуй TextView.setText( Integer.toString(int));

9 голосов
/ 26 сентября 2011

Когда вы передаете целое число в TextView.setText() для отображения, android предполагает, что это идентификатор ресурса, и именно поэтому вы получаете Resource$NotFoundException.Попробуйте преобразовать int в String, прежде чем передать его в TextView.setText(): TextView.setText(String.valueOf(i)).

7 голосов
/ 13 января 2012

Только для протокола, вы также можете использовать:

TextView.setText("" + intVar) вместо TextView.setText(intVar)

5 голосов
/ 12 апреля 2018

Я получил ту же ошибку при попытке вывести целочисленное значение: TextView.setText (int value) Я решил эту ошибку, преобразовав целочисленное значение в строку, и я использовал TextView.setText (преобразованное значение строки)

4 голосов
/ 26 июня 2018

У меня была такая же проблема, прежде чем я пришел на этот пост. Для меня это было так: view_element.setText( an_int_value). После каста view_element.setText(String.valueOf(an_int_value)); все в порядке.

2 голосов
/ 02 февраля 2018

Это связано с ошибкой при типизации.Вы должны попробовать это: TextView.setText (Integer.toString (variable_name));

Здесь toString используется для преобразования целого числа в строку для отображения текста.

2 голосов
/ 28 февраля 2012

Для меня мне пришлось пойти в XML-файл для кнопки.Там я заметил жестко закодированное строковое значение.Я должен был удалить это, а также я должен был использовать Textview.setText("" + intVar);

1 голос
/ 12 апреля 2019

С Документация Android TextView :

  • setText(int resid) Устанавливает текст, отображаемый с использованием строкового идентификатора ресурса.
0 голосов
/ 29 мая 2016

У меня недавно была эта проблема, когда я пытался интегрировать библиотеку SocialAuth с моим Android-приложением в Android Studio.В чем заключалась моя проблема, некоторые из моих ресурсов, такие как значок Facebook, были в папке mipamp .Я переместил его в папку drawables , и проблема была исправлена.

...