为什么我会得到一个错误,当我填充一个自定义列表视图? [英] Why am I getting an error when I populating a custom listview?

查看:122
本文介绍了为什么我会得到一个错误,当我填充一个自定义列表视图?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用的是自定义的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:机器人=htt​​p://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.layoutHorizo​​ntal(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)

<$p$p><$c$c>holder.tv_id_closeit.setText(String.valueOf(closeItListModelArrayList.get(position).getId()););

的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).getI‌​d()

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屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆