android.content.res.Resources$NotFoundException:字符串资源ID#0x0

我正在开发一个Android应用程序,从MySQL数据库读取数据,我遇到了这个错误。我有这样的XML布局:

<?xml version=“1.0”encoding=“utf-8”?>
<RelativeLayout xmlns:android=”http://schemas.android.com/apk/res/android" 
android:layout\u width=“匹配父项”
android:layout\u height=“match\u parent”
android:orientation=“vertical”>
<TextView android:id=“@+id/wardNumber”
android:layout\u width=“包装内容”
android:layout\u height=“包装内容”
android:layout_marginLeft=“3dp”
android:text=“病房号码”
android:textSize=“22dp”/>
<TextView android:id=“@+id/dateTime”
android:layout\u width=“包装内容”
android:layout\u height=“包装内容”
android:layout_下方=“@id/wardNumber”
android:layout\u alignParentRight=“true”
android:layout_marginRight=“3dp”
android:text=“日期时间”/>
<文本框
android:id=“@+id/name”
android:layout\u width=“包装内容”
android:layout\u height=“包装内容”
android:layout_alignBaseline=“@+id/dateTime”
android:layout_alignBottom=“@+id/dateTime”
android:layout_alignLeft=“@+id/wardNumber”
android:layout_marginLeft=“3dp”
android:text=“Name”/>
&lt/相对寿命>

这是我的Java文件:

公共应用程序适配器(上下文、列表<应用程序>项){
超级(上下文、R.layout.app_自定义_列表、项目);
这个项目=项目;
}
@凌驾
public int getCount(){
返回items.size();
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
视图v=转换视图;
如果(v==null){
LayoutInflater li=LayoutInflater.from(getContext());
v=li.充气(R.layout.app\u自定义列表,空);
}
应用程序app=items.get(位置);
如果(应用程序!=null){
//ImageView图标=(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.findviewbyd(R.id.dateTime);
//如果(图标!=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.gettotall());
//NumberFormat nf=NumberFormat.getNumberInstance();
//dateTime.setText(nf.format(app.gettotall())+“dl”);
}
}
返回v;
}
}

调用此活动时,我收到以下错误消息:

11-2421:12:03.633:E/AndroidRuntime(1251):致命异常:main
11-2421:12:03.633:E/AndroidRuntime(1251):android.content.res.Resources$NotFoundException:字符串资源ID#0x0
11-2421:12:03.633:E/AndroidRuntime(1251):位于android.content.res.Resources.getText(Resources.java:201)
11-2421:12:03.633:E/AndroidRuntime(1251):在android.widget.TextView.setText(TextView.java:2863)
11-2421:12:03.633:E/AndroidRuntime(1251):位于com.sj.jsondemo.ApplicationAdapter.getView(ApplicationAdapter.java:53)
11-2421:12:03.633:E/AndroidRuntime(1251):在android.widget.AbsListView.obtainView(AbsListView.java:1430)
11-2421:12:03.633:E/AndroidRuntime(1251):在android.widget.ListView.MeasureHeightOChildren(ListView.java:1216)
11-2421:12:03.633:E/AndroidRuntime(1251):在android.widget.ListView.onMeasure(ListView.java:1127)
11-2421:12:03.633:E/AndroidRuntime(1251):在android.view.view.measure(view.java:8313)
11-2421:12:03.633:E/AndroidRuntime(1251):在android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
11-2421:12:03.633:E/AndroidRuntime(1251):在android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1017)
11-2421:12:03.633:E/AndroidRuntime(1251):在android.widget.LinearLayout.measureHorizontal(LinearLayout.java:701)
11-2421:12:03.633:E/AndroidRuntime(1251):在android.widget.LinearLayout.onMeasure(LinearLayout.java:311)上
11-2421:12:03.633:E/AndroidRuntime(1251):在android.view.view.measure(view.java:8313)
11-2421:12:03.633:E/AndroidRuntime(1251):在android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
11-2421:12:03.633:E/AndroidRuntime(1251):在android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
11-2421:12:03.633:E/AndroidRuntime(1251):在android.view.view.measure(view.java:8313)
11-2421:12:03.633:E/AndroidRuntime(1251):在android.widget.LinearLayout.measureVertical(LinearLayout.java:531)
11-2421:12:03.633:E/AndroidRuntime(1251):在android.widget.LinearLayout.onMeasure(LinearLayout.java:309)
11-2421:12:03.633:E/AndroidRuntime(1251):在android.view.view.measure(view.java:8313)
11-2421:12:03.633:E/AndroidRuntime(1251):在android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
11-2421:12:03.633:E/AndroidRuntime(1251):在android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
11-2421:12:03.633:E/AndroidRuntime(1251):在android.view.view.measure(view.java:8313)
11-2421:12:03.633:E/AndroidRuntime(1251):在android.view.ViewRoot.performTraversals(ViewRoot.java:839)
11-2421:12:03.633:E/AndroidRuntime(1251):在android.view.ViewRoot.handleMessage(ViewRoot.java:1859)
11-2421:12:03.633:E/AndroidRuntime(1251):在android.os.Handler.dispatchMessage(Handler.java:99)上
11-2421:12:03.633:E/AndroidRuntime(1251):在android.os.Looper.loop(Looper.java:130)上
11-2421:12:03.633:E/AndroidRuntime(1251):在android.app.ActivityThread.main(ActivityThread.java:3683)上
11-2421:12:03.633:E/AndroidRuntime(1251):位于java.lang.reflect.Method.Invokenactive(本机方法)
11-2421:12:03.633:E/AndroidRuntime(1251):位于java.lang.reflect.Method.invoke(Method.java:507)
11-2421:12:03.633:E/AndroidRuntime(1251):在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
11-2421:12:03.633:E/AndroidRuntime(1251):位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
11-2421:12:03.633:E/AndroidRuntime(1251):在dalvik.system.NativeStart.main(本机方法)
11-24 21:12:08.922:I/进程(1251):发送信号。PID:1251信号:9

我不知道如何修正这个错误

改变

dateTime.setText(app.gettotall());

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

有不同版本的setText——一个接受字符串,另一个接受整数资源id。如果传递一个整数,它将尝试查找相应的字符串资源id,但找不到,这是您的错误

我猜app.gettotall()返回一个int。您需要特别告诉setText将其设置为该int的字符串值

setText(int resid)与setText(CharSequence text)

发表评论