android.content.res.Resources$NotFoundException: String-Ressourcen-ID #0x0

Lesezeit: 5 Minuten

androidcontentresResourcesNotFoundException String Ressourcen ID
Benutzer2881604

Ich entwickle eine Android-App, die Daten aus der MySQL-Datenbank liest, und ich bin auf diesen Fehler gestoßen. Ich habe dieses XML-Layout:

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


        <TextView android:id="@+id/wardNumber" 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" 
            android:layout_marginLeft="3dp" 
            android:text="Ward Number" 
            android:textSize="22dp"/> 


        <TextView android:id="@+id/dateTime" 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" 
            android:layout_below="@id/wardNumber" 
            android:layout_alignParentRight="true" 
            android:layout_marginRight="3dp" 
            android:text="Date-Time" />

        <TextView
            android:id="@+id/name"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBaseline="@+id/dateTime"
            android:layout_alignBottom="@+id/dateTime"
            android:layout_alignLeft="@+id/wardNumber"
            android:layout_marginLeft="3dp" 
            android:text="Name" />

</RelativeLayout> 

Und das ist die meine Java-Datei:

public ApplicationAdapter(Context context, List<Application> items) {
    super(context, R.layout.app_custom_list, items);
    this.items = items;
}

@Override
public int getCount() {
    return items.size();
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    View v = convertView;

    if(v == null) {
        LayoutInflater li = LayoutInflater.from(getContext());
        v = li.inflate(R.layout.app_custom_list, null);            
    }

    Application app = items.get(position);

    if(app != null) {
      //  ImageView icon = (ImageView)v.findViewById(R.id.appIcon);
        TextView wardNumber = (TextView)v.findViewById(R.id.wardNumber);
        TextView name = (TextView)v.findViewById(R.id.name);
      //  LinearLayout ratingCntr = (LinearLayout)v.findViewById(R.id.ratingCntr);
        TextView dateTime = (TextView)v.findViewById(R.id.dateTime);

  //      if(icon != null) {
  //          Resources res = getContext().getResources();
   //         String sIcon = "com.sj.jsondemo:drawable/" + app.getIcon();
   //         icon.setImageDrawable(res.getDrawable(res.getIdentifier(sIcon, null, null)));
   //     }

        if(wardNumber != null) wardNumber.setText(app.getTitle());

        if(name != null) name.setText(app.getTitle());

        if(dateTime != null) {
            dateTime.setText(app.getTotalDl());
          //  NumberFormat nf = NumberFormat.getNumberInstance();
          //  dateTime.setText(nf.format(app.getTotalDl())+" dl");            
        }


    }

    return v;
}
}

Wenn diese Aktivität aufgerufen wird, erhalte ich diese Fehlermeldung:

11-24 21:12:03.633:  E/AndroidRuntime(1251):  FATAL EXCEPTION: main
11-24 21:12:03.633:  E/AndroidRuntime(1251): android.content.res.Resources$NotFoundException: String resource ID #0x0
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at android.content.res.Resources.getText(Resources.java:201)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at android.widget.TextView.setText(TextView.java:2863)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at com.sj.jsondemo.Appl icationAdapter.getView(ApplicationAdapter.java:53)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at android.widget.AbsListView.obtainView(AbsListView.java:1430)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at android.widget.ListView.measureHeightOfChildren(ListView.java:1216)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at android.widget.ListView.onMeasure(ListView.java:1127)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at android.view.View.measure(View.java:8313)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1017)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at android.widget.LinearLayout.measureHorizontal(LinearLayout.java:701)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at android.widget.LinearLayout.onMeasure(LinearLayout.java:311)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at android.view.View.measure(View.java:8313)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at android.view.View.measure(View.java:8313)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at android.widget.LinearLayout.measureVertical(LinearLayout.java:531)
11-24 21:12:03.633: E/AndroidRuntime(1251):     at android.widget.LinearLayout.onMeasure(LinearLayout.java:309)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at android.view.View.measure(View.java:8313)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at  android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at android.view.View.measure(View.java:8313)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at android.view.ViewRoot.performTraversals(ViewRoot.java:839)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at android.view.ViewRoot.handleMessage(ViewRoot.java:1859)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at android.os.Handler.dispatchMessage(Handler.java:99)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at android.os.Looper.loop(Looper.java:130)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at android.app.ActivityThread.main(ActivityThread.java:3683)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at java.lang.reflect.Method.invokeNative(Native Method)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at java.lang.reflect.Method.invoke(Method.java:507)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at dalvik.system.NativeStart.main(Native Method)
11-24 21:12:08.922: I/Process(1251): Sending signal. PID: 1251 SIG: 9

Ich weiß nicht, wie ich diesen Fehler beheben kann.

androidcontentresResourcesNotFoundException String Ressourcen ID
Kennen Wolf

Ändern

dateTime.setText(app.getTotalDl());

Zu

dateTime.setText(String.valueOf(app.getTotalDl()));

Es gibt verschiedene Versionen von setText – Man nimmt einen String und man nimmt eine int-Ressourcen-ID. Wenn Sie ihm eine Ganzzahl übergeben, versucht es, nach der entsprechenden String-Ressourcen-ID zu suchen – die es nicht finden kann, was Ihr Fehler ist.

ich schätze app.getTotalDl() gibt einen int zurück. Du musst es konkret sagen setText um es auf den String-Wert dieses int zu setzen.

setText (int resid) vs setText (CharSequence-Text)

  • setText(int resId) hat nicht einmal Javadoc angehängt. Sie hätten diesem wirklich einen eigenen Namen geben sollen – offensichtlich ein häufiger Missbrauch hier. Wenn Sie also die resId angeben, wird der Text einer TextView so festgelegt, dass er der Text einer anderen Ressource ist?

    – Stealth-Rabbi

    19. Februar 2016 um 15:45 Uhr

  • Ich weiß das schon, aber ich vergesse das immer und lande immer bei dieser Antwort

    – Jitendra Sawant

    8. Juli 2020 um 14:53 Uhr

1646644030 930 androidcontentresResourcesNotFoundException String Ressourcen ID
Soni Kumar

Ersetzen

dateTime.setText(app.getTotalDl());

Mit

dateTime.setText(""+app.getTotalDl());

  • Es ist Arbeit, aber ich denke, es ist kein geeigneter Weg. @KenWolf Antwort ist der richtige und professionelle Weg.

    – amin

    29. Juli 2017 um 6:55 Uhr

Entwerfen Sie Android EditText um Fehlermeldungen anzuzeigen wie von Google
MEGHA DOBARIYA

Wenn wir den Wert als erhalten int und wir stellen es ein String, tritt der Fehler auf. PFB meine Lösung,

Textview = tv_property_count;
int property_id;
tv_property_count.setText(String.valueOf(property_id));

Wenn Sie die Werte in int erhalten, müssen Sie eine Zeichenfolge verwenden, für die der Fehler ausgelöst wird

Vor

  holder.villageName.setText(villageModelList.get(position).getVillageName());
    holder.villageCount.setText(villageModelList.get(position).getPeopleCount());
    holder.peopleCount.setText(villageModelList.get(position).getPeopleCount());

nach dem

  holder.villageName.setText(villageModelList.get(position).getVillageName());
    holder.villageCount.setText(String.valueOf(villageModelList.get(position).getPeopleCount()));
    holder.peopleCount.setText(String.valueOf(villageModelList.get(position).getPeopleCount()));

Sie können den Fehler beheben, indem Sie die hinzufügen String.valueOf

1646644032 98 androidcontentresResourcesNotFoundException String Ressourcen ID
Shayona Beraterin

Wenn Sie versuchen, Text einzufügen Edittext oder textview Sie sollten nur das String-Format übergeben.

dateTime.setText(app.getTotalDl());

zu

dateTime.setText(String.valueOf(app.getTotalDl()));

1646644033 156 androidcontentresResourcesNotFoundException String Ressourcen ID
Schwarzer Falke

Der ausgewertete Wert für settext war eine Ganzzahl, also wurde eine daran angehängte Ressource angezeigt, aber sie wurde nicht gefunden. Sie wollten Text so festlegen, dass er eine Zeichenfolge sein sollte. Konvertieren Sie die Ganzzahl durch Anhängen in eine Zeichenfolge .toStringe oder String.valueOf(int) wird Ihr Problem lösen!

1646644034 296 androidcontentresResourcesNotFoundException String Ressourcen ID
Jakob Z

Du kannst es schaffen. Dies ist ein einfacher Weg.

txtTopicNo.setText(10+"");

964650cookie-checkandroid.content.res.Resources$NotFoundException: String-Ressourcen-ID #0x0

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy