为什么我会得到一个错误,当我填充一个自定义列表视图? [英] Why am I getting an error when I populating a custom listview?
问题描述
我使用的是自定义的ListView和我得到下一个错误。为什么??在日志setence我收到了很好的数据,但由于某种原因它崩溃。
类
公共类ListViewCustomCloseit延伸BaseAdapter { ArrayList的< CloseItListModel> closeItListModelArrayList; 私人LayoutInflater mInflater; 公共ListViewCustomCloseit(上下文的背景下,ArrayList的< CloseItListModel>业绩){
closeItListModelArrayList =结果;
mInflater = LayoutInflater.from(上下文); 的for(int i = 0; I< closeItListModelArrayList.size();我++){
Log.i(WorldersBase.TAG,closeItListModelArrayList.get(ⅰ).getId()+:::+ closeItListModelArrayList.get(ⅰ).getService());
}
} 公众诠释的getCount(){
返回closeItListModelArrayList.size();
} 公共对象的getItem(INT位置){
返回closeItListModelArrayList.get(位置);
} 众长getItemId(INT位置){
返回的位置;
} 公共查看getView(INT位置,查看convertView,父母的ViewGroup){
ViewHolder持有人;
如果(convertView == NULL){
convertView = mInflater.inflate(R.layout.custom_list_closeit,NULL);
持有人=新ViewHolder();
holder.tv_id_closeit =(TextView中)convertView.findViewById(R.id.tv_id_closeit);
holder.tv_service =(TextView中)convertView.findViewById(R.id.tv_service);
convertView.setTag(保持器);
}其他{
支架=(ViewHolder)convertView.getTag();
} holder.tv_id_closeit.setText(closeItListModelArrayList.get(位置).getId());
holder.tv_service.setText(closeItListModelArrayList.get(位置).getService()); 返回convertView;
} 静态类ViewHolder {
TextView的tv_id_closeit,tv_service;
}
布局
<?XML版本=1.0编码=UTF-8&GT?;<的RelativeLayout的xmlns:机器人=http://schemas.android.com/apk/res/android
机器人:layout_width =FILL_PARENT
机器人:layout_height =WRAP_CONTENT
机器人:背景=@绘制/ list_selector
机器人:方向=横向
机器人:填充=5dip> <! - ListRow左SIED缩略图 - >
<的LinearLayout
机器人:方向=横向
机器人:layout_width =FILL_PARENT
机器人:layout_height =WRAP_CONTENT
机器人:重力=左
机器人:layout_marginLeft =25dp> <的LinearLayout
机器人:ID =@ + ID /缩略图
机器人:layout_width =0dp
机器人:layout_weight =0.1 机器人:layout_height =WRAP_CONTENT
机器人:填充=3dip
机器人:layout_alignParentLeft =真
机器人:layout_marginRight =5dip> < ImageView的
机器人:ID =@ + ID / list_image
机器人:layout_width =24dip
机器人:layout_height =24dip
机器人:SRC =@绘制/ bandera_azul/> < / LinearLayout中> <的TextView
机器人:ID =@ + ID /消息
机器人:layout_width =0dp
机器人:layout_weight =0.5
机器人:行=1
机器人:layout_height =WRAP_CONTENT
机器人:layout_alignTop =@ + ID /缩略图
机器人:layout_toRightOf =@ + ID /缩略图
机器人:文字=Oferta德Pepito
机器人:文字颜色=@彩色/ Blue_Background
机器人:字体=SANS
机器人:TEXTSIZE =18dip
机器人:文字样式=大胆
机器人:重力=center_vertical/> <的TextView
机器人:layout_weight =0.1
机器人:layout_width =0dp
机器人:layout_height =WRAP_CONTENT
机器人:文字=@字符串/ emptyCaption
机器人:ID =@ + ID / space_between_2
机器人:layout_marginLeft =20dip/> <的TextView
机器人:ID =@ + ID /价格
机器人:layout_width =0dp
机器人:layout_weight =0.3
机器人:layout_height =WRAP_CONTENT
机器人:layout_alignTop =@ + ID /缩略图
机器人:layout_toRightOf =@ + ID /缩略图
机器人:文字=3500€
机器人:文字颜色=@彩色/ Blue_Background
机器人:字体=SANS
机器人:TEXTSIZE =18dip
机器人:文字样式=大胆
机器人:重力=center_vertical/>
< / LinearLayout中>
< / RelativeLayout的>
错误
05-28 13:17:00.431:E / AndroidRuntime(522):致命异常:主要
05-28 13:17:00.431:E / AndroidRuntime(522):$ android.content.res.Resources NotFoundException:字符串资源ID#位于0xC
05-28 13:17:00.431:E / AndroidRuntime(522):在android.content.res.Resources.getText(Resources.java)
05-28 13:17:00.431:E / AndroidRuntime(522):在android.content.res.XResources.getText(XResources.java:696)
05-28 13:17:00.431:E / AndroidRuntime(522):在android.widget.TextView.setText(TextView.java)
05-28 13:17:00.431:E / AndroidRuntime(522):在com.worlders.tools.ListViewCustomCloseit.getView(ListViewCustomCloseit.java:56)
05-28 13:17:00.431:E / AndroidRuntime(522):在android.widget.AbsListView.obtainView(AbsListView.java)
05-28 13:17:00.431:E / AndroidRuntime(522):在android.widget.ListView.makeAndAddView(ListView.java)
05-28 13:17:00.431:E / AndroidRuntime(522):在android.widget.ListView.fillDown(ListView.java)
05-28 13:17:00.431:E / AndroidRuntime(522):在android.widget.ListView.fillFromTop(ListView.java)
05-28 13:17:00.431:E / AndroidRuntime(522):在android.widget.ListView.layoutChildren(ListView.java)
05-28 13:17:00.431:E / AndroidRuntime(522):在android.widget.AbsListView.onLayout(AbsListView.java)
05-28 13:17:00.431:E / AndroidRuntime(522):在android.view.View.layout(View.java)
05-28 13:17:00.431:E / AndroidRuntime(522):在android.view.ViewGroup.layout(ViewGroup.java)
05-28 13:17:00.431:E / AndroidRuntime(522):在android.widget.LinearLayout.setChildFrame(LinearLayout.java)
05-28 13:17:00.431:E / AndroidRuntime(522):在android.widget.LinearLayout.layoutHorizontal(LinearLayout.java)
05-28 13:17:00.431:E / AndroidRuntime(522):在android.widget.LinearLayout.onLayout(LinearLayout.java)
05-28 13:17:00.431:E / AndroidRuntime(522):在android.view.View.layout(View.java)
05-28 13:17:00.431:E / AndroidRuntime(522):在android.view.ViewGroup.layout(ViewGroup.java)
05-28 13:17:00.431:E / AndroidRuntime(522):在android.widget.LinearLayout.setChildFrame(LinearLayout.java)
05-28 13:17:00.431:E / AndroidRuntime(522):在android.widget.LinearLayout.layoutVertical(LinearLayout.java)
05-28 13:17:00.431:E / AndroidRuntime(522):在android.widget.LinearLayout.onLayout(LinearLayout.java)
05-28 13:17:00.431:E / AndroidRuntime(522):在android.view.View.layout(View.java)
05-28 13:17:00.431:E / AndroidRuntime(522):在android.view.ViewGroup.layout(ViewGroup.java)
05-28 13:17:00.431:E / AndroidRuntime(522):在android.support.v4.widget.DrawerLayout.onLayout(DrawerLayout.java:690)
05-28 13:17:00.431:E / AndroidRuntime(522):在android.view.View.layout(View.java)
05-28 13:17:00.431:E / AndroidRuntime(522):在android.view.ViewGroup.layout(ViewGroup.java)
05-28 13:17:00.431:E / AndroidRuntime(522):在android.widget.FrameLayout.onLayout(FrameLayout.java)
05-28 13:17:00.431:E / AndroidRuntime(522):在android.view.View.layout(View.java)
05-28 13:17:00.431:E / AndroidRuntime(522):在android.view.ViewGroup.layout(ViewGroup.java)
05-28 13:17:00.431:E / AndroidRuntime(522):在android.widget.LinearLayout.setChildFrame(LinearLayout.java)
05-28 13:17:00.431:E / AndroidRuntime(522):在android.widget.LinearLayout.layoutVertical(LinearLayout.java)
05-28 13:17:00.431:E / AndroidRuntime(522):在android.widget.LinearLayout.onLayout(LinearLayout.java)
05-28 13:17:00.431:E / AndroidRuntime(522):在android.view.View.layout(View.java)
05-28 13:17:00.431:E / AndroidRuntime(522):在android.view.ViewGroup.layout(ViewGroup.java)
05-28 13:17:00.431:E / AndroidRuntime(522):在android.widget.FrameLayout.onLayout(FrameLayout.java)
05-28 13:17:00.431:E / AndroidRuntime(522):在android.view.View.layout(View.java)
05-28 13:17:00.431:E / AndroidRuntime(522):在android.view.ViewGroup.layout(ViewGroup.java)
05-28 13:17:00.431:E / AndroidRuntime(522):在android.view.ViewRootImpl.performLayout(ViewRootImpl.java)
05-28 13:17:00.431:E / AndroidRuntime(522):在android.view.ViewRootImpl.performTraversals(ViewRootImpl.java)
05-28 13:17:00.431:E / AndroidRuntime(522):在android.view.ViewRootImpl.doTraversal(ViewRootImpl.java)
05-28 13:17:00.431:E / AndroidRuntime(522):在android.view.ViewRootImpl $ TraversalRunnable.run(ViewRootImpl.java)
05-28 13:17:00.431:E / AndroidRuntime(522):在android.view.Choreographer $ CallbackRecord.run(Choreographer.java)
05-28 13:17:00.431:E / AndroidRuntime(522):在android.view.Choreographer.doCallbacks(Choreographer.java)
05-28 13:17:00.431:E / AndroidRuntime(522):在android.view.Choreographer.doFrame(Choreographer.java)
05-28 13:17:00.431:E / AndroidRuntime(522):在android.view.Choreographer $ FrameDisplayEventReceiver.run(Choreographer.java)
05-28 13:17:00.431:E / AndroidRuntime(522):在android.os.Handler.handleCallback(Handler.java)
05-28 13:17:00.431:E / AndroidRuntime(522):在android.os.Handler.dispatchMessage(Handler.java)
05-28 13:17:00.431:E / AndroidRuntime(522):在android.os.Looper.loop(Looper.java)
05-28 13:17:00.431:E / AndroidRuntime(522):在android.app.ActivityThread.main(ActivityThread.java)
05-28 13:17:00.431:E / AndroidRuntime(522):在java.lang.reflect.Method.invokeNative(本机方法)
05-28 13:17:00.431:E / AndroidRuntime(522):在java.lang.reflect.Method.invoke(Method.java)
05-28 13:17:00.431:E / AndroidRuntime(522):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java)
05-28 13:17:00.431:E / AndroidRuntime(522):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java)
05-28 13:17:00.431:E / AndroidRuntime(522):在de.robv.android.xposed.XposedBridge.main(XposedBridge.java:132)
05-28 13:17:00.431:E / AndroidRuntime(522):在dalvik.system.NativeStart.main(本机方法)
我不知道这是否是一个上下文错误还是什么。在getView。
任何意见?
也许这
closeItListModelArrayList.get(位置).getI D()
返回一个整数值。而且你无法直接设置int值一个TextView。
使用 String.valeuOf(的intValue)
的setText
确实需要INT作为一个参数,但它看起来与所提到的ID的资源。如果没有找到你 ResourceNotFoundException
。
您所需要的是的setText
这需要charactersequence作为参数。</ P>
I'm using a custom listview and I'm getting the next error. Why?? In the Log setence I receive the data well, but for some reason it crashes.
CLASS
public class ListViewCustomCloseit extends BaseAdapter {
ArrayList<CloseItListModel> closeItListModelArrayList;
private LayoutInflater mInflater;
public ListViewCustomCloseit(Context context, ArrayList<CloseItListModel> results) {
closeItListModelArrayList = results;
mInflater = LayoutInflater.from(context);
for(int i=0; i < closeItListModelArrayList.size(); i++){
Log.i(WorldersBase.TAG, closeItListModelArrayList.get(i).getId() + ":::" + closeItListModelArrayList.get(i).getService());
}
}
public int getCount() {
return closeItListModelArrayList.size();
}
public Object getItem(int position) {
return closeItListModelArrayList.get(position);
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
convertView = mInflater.inflate(R.layout.custom_list_closeit, null);
holder = new ViewHolder();
holder.tv_id_closeit = (TextView) convertView.findViewById(R.id.tv_id_closeit);
holder.tv_service = (TextView) convertView.findViewById(R.id.tv_service);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.tv_id_closeit.setText(closeItListModelArrayList.get(position).getId());
holder.tv_service.setText(closeItListModelArrayList.get(position).getService());
return convertView;
}
static class ViewHolder {
TextView tv_id_closeit, tv_service;
}
LAYOUT
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/list_selector"
android:orientation="horizontal"
android:padding="5dip" >
<!-- ListRow Left sied Thumbnail image -->
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="left"
android:layout_marginLeft="25dp">
<LinearLayout
android:id="@+id/thumbnail"
android:layout_width="0dp"
android:layout_weight="0.1"
android:layout_height="wrap_content"
android:padding="3dip"
android:layout_alignParentLeft="true"
android:layout_marginRight="5dip">
<ImageView
android:id="@+id/list_image"
android:layout_width="24dip"
android:layout_height="24dip"
android:src="@drawable/bandera_azul"/>
</LinearLayout>
<TextView
android:id="@+id/message"
android:layout_width="0dp"
android:layout_weight="0.5"
android:lines="1"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/thumbnail"
android:layout_toRightOf="@+id/thumbnail"
android:text="Oferta de Pepito"
android:textColor="@color/Blue_Background"
android:typeface="sans"
android:textSize="18dip"
android:textStyle="bold"
android:gravity="center_vertical" />
<TextView
android:layout_weight="0.1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@string/emptyCaption"
android:id="@+id/space_between_2"
android:layout_marginLeft="20dip" />
<TextView
android:id="@+id/price"
android:layout_width="0dp"
android:layout_weight="0.3"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/thumbnail"
android:layout_toRightOf="@+id/thumbnail"
android:text="3500€"
android:textColor="@color/Blue_Background"
android:typeface="sans"
android:textSize="18dip"
android:textStyle="bold"
android:gravity="center_vertical" />
</LinearLayout>
</RelativeLayout>
ERROR
05-28 13:17:00.431: E/AndroidRuntime(522): FATAL EXCEPTION: main
05-28 13:17:00.431: E/AndroidRuntime(522): android.content.res.Resources$NotFoundException: String resource ID #0xc
05-28 13:17:00.431: E/AndroidRuntime(522): at android.content.res.Resources.getText(Resources.java)
05-28 13:17:00.431: E/AndroidRuntime(522): at android.content.res.XResources.getText(XResources.java:696)
05-28 13:17:00.431: E/AndroidRuntime(522): at android.widget.TextView.setText(TextView.java)
05-28 13:17:00.431: E/AndroidRuntime(522): at com.worlders.tools.ListViewCustomCloseit.getView(ListViewCustomCloseit.java:56)
05-28 13:17:00.431: E/AndroidRuntime(522): at android.widget.AbsListView.obtainView(AbsListView.java)
05-28 13:17:00.431: E/AndroidRuntime(522): at android.widget.ListView.makeAndAddView(ListView.java)
05-28 13:17:00.431: E/AndroidRuntime(522): at android.widget.ListView.fillDown(ListView.java)
05-28 13:17:00.431: E/AndroidRuntime(522): at android.widget.ListView.fillFromTop(ListView.java)
05-28 13:17:00.431: E/AndroidRuntime(522): at android.widget.ListView.layoutChildren(ListView.java)
05-28 13:17:00.431: E/AndroidRuntime(522): at android.widget.AbsListView.onLayout(AbsListView.java)
05-28 13:17:00.431: E/AndroidRuntime(522): at android.view.View.layout(View.java)
05-28 13:17:00.431: E/AndroidRuntime(522): at android.view.ViewGroup.layout(ViewGroup.java)
05-28 13:17:00.431: E/AndroidRuntime(522): at android.widget.LinearLayout.setChildFrame(LinearLayout.java)
05-28 13:17:00.431: E/AndroidRuntime(522): at android.widget.LinearLayout.layoutHorizontal(LinearLayout.java)
05-28 13:17:00.431: E/AndroidRuntime(522): at android.widget.LinearLayout.onLayout(LinearLayout.java)
05-28 13:17:00.431: E/AndroidRuntime(522): at android.view.View.layout(View.java)
05-28 13:17:00.431: E/AndroidRuntime(522): at android.view.ViewGroup.layout(ViewGroup.java)
05-28 13:17:00.431: E/AndroidRuntime(522): at android.widget.LinearLayout.setChildFrame(LinearLayout.java)
05-28 13:17:00.431: E/AndroidRuntime(522): at android.widget.LinearLayout.layoutVertical(LinearLayout.java)
05-28 13:17:00.431: E/AndroidRuntime(522): at android.widget.LinearLayout.onLayout(LinearLayout.java)
05-28 13:17:00.431: E/AndroidRuntime(522): at android.view.View.layout(View.java)
05-28 13:17:00.431: E/AndroidRuntime(522): at android.view.ViewGroup.layout(ViewGroup.java)
05-28 13:17:00.431: E/AndroidRuntime(522): at android.support.v4.widget.DrawerLayout.onLayout(DrawerLayout.java:690)
05-28 13:17:00.431: E/AndroidRuntime(522): at android.view.View.layout(View.java)
05-28 13:17:00.431: E/AndroidRuntime(522): at android.view.ViewGroup.layout(ViewGroup.java)
05-28 13:17:00.431: E/AndroidRuntime(522): at android.widget.FrameLayout.onLayout(FrameLayout.java)
05-28 13:17:00.431: E/AndroidRuntime(522): at android.view.View.layout(View.java)
05-28 13:17:00.431: E/AndroidRuntime(522): at android.view.ViewGroup.layout(ViewGroup.java)
05-28 13:17:00.431: E/AndroidRuntime(522): at android.widget.LinearLayout.setChildFrame(LinearLayout.java)
05-28 13:17:00.431: E/AndroidRuntime(522): at android.widget.LinearLayout.layoutVertical(LinearLayout.java)
05-28 13:17:00.431: E/AndroidRuntime(522): at android.widget.LinearLayout.onLayout(LinearLayout.java)
05-28 13:17:00.431: E/AndroidRuntime(522): at android.view.View.layout(View.java)
05-28 13:17:00.431: E/AndroidRuntime(522): at android.view.ViewGroup.layout(ViewGroup.java)
05-28 13:17:00.431: E/AndroidRuntime(522): at android.widget.FrameLayout.onLayout(FrameLayout.java)
05-28 13:17:00.431: E/AndroidRuntime(522): at android.view.View.layout(View.java)
05-28 13:17:00.431: E/AndroidRuntime(522): at android.view.ViewGroup.layout(ViewGroup.java)
05-28 13:17:00.431: E/AndroidRuntime(522): at android.view.ViewRootImpl.performLayout(ViewRootImpl.java)
05-28 13:17:00.431: E/AndroidRuntime(522): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java)
05-28 13:17:00.431: E/AndroidRuntime(522): at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java)
05-28 13:17:00.431: E/AndroidRuntime(522): at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java)
05-28 13:17:00.431: E/AndroidRuntime(522): at android.view.Choreographer$CallbackRecord.run(Choreographer.java)
05-28 13:17:00.431: E/AndroidRuntime(522): at android.view.Choreographer.doCallbacks(Choreographer.java)
05-28 13:17:00.431: E/AndroidRuntime(522): at android.view.Choreographer.doFrame(Choreographer.java)
05-28 13:17:00.431: E/AndroidRuntime(522): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java)
05-28 13:17:00.431: E/AndroidRuntime(522): at android.os.Handler.handleCallback(Handler.java)
05-28 13:17:00.431: E/AndroidRuntime(522): at android.os.Handler.dispatchMessage(Handler.java)
05-28 13:17:00.431: E/AndroidRuntime(522): at android.os.Looper.loop(Looper.java)
05-28 13:17:00.431: E/AndroidRuntime(522): at android.app.ActivityThread.main(ActivityThread.java)
05-28 13:17:00.431: E/AndroidRuntime(522): at java.lang.reflect.Method.invokeNative(Native Method)
05-28 13:17:00.431: E/AndroidRuntime(522): at java.lang.reflect.Method.invoke(Method.java)
05-28 13:17:00.431: E/AndroidRuntime(522): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java)
05-28 13:17:00.431: E/AndroidRuntime(522): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java)
05-28 13:17:00.431: E/AndroidRuntime(522): at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:132)
05-28 13:17:00.431: E/AndroidRuntime(522): at dalvik.system.NativeStart.main(Native Method)
I don't know if it is a context error or what. in the getView.
Any advice?
Probably this
closeItListModelArrayList.get(position).getId()
returns a Integer value. And you cannot set int value directly to a textview.
Use String.valeuOf(intvalue)
holder.tv_id_closeit.setText(String.valueOf(closeItListModelArrayList.get(position).getId()););
setText
does take int as a param but it looks for a Resource with the id mentioned. If not found you get ResourceNotFoundException
.
What you require is setText
that takes charactersequence as a param.
这篇关于为什么我会得到一个错误,当我填充一个自定义列表视图?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!