问题与ListFragment显示数据 [英] Issue with ListFragment Displaying Data

查看:143
本文介绍了问题与ListFragment显示数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个显示使用ListFragment所有者列表的类。当用户在一个雇主点击时,它应该用新的片段,其将列出所有者的车更换底部片段。问题是,它不停抛出一个异常的发现ID 0x7f090013 否观点,即使我创建了来看。我在做什么错在这里?

//这是 onListItemClick 我在哪里打电话来取代其他片段(满code将在年底公布。)

  @覆盖
公共无效onListItemClick(ListView中升,视图V,INT位置,长的id){
    // TODO自动生成方法存根
    //super.onListItemClick(l,V,位置,ID);
    INT搜索= 0;
    所有者=(所有者)getListView()getItemAtPosition(位置)。
    字符串名称= a.getFirstName();
    字符串LNAME = a.getLastName();
    字符串ID = a.getCarId();    FragmentManager mFragment = getChildFragmentManager();
    FragmentTransaction英尺= mFragment.beginTransaction();
    CarDetail cDetail =新CarDetail();
    cDetail.SearchParameters(的Integer.parseInt(ID));
    ft.replace(R.id.fCarDetail,cDetail);
    ft.addToBackStack(NULL);
    ft.commit();
}

//这是该车详细片段

 进口android.os.AsyncTask;
进口android.os.Bundle;
进口android.support.v4.app.ListFragment;
进口android.view.LayoutInflater;
进口android.view.View;
进口android.view.ViewGroup;
进口android.widget.ArrayAdapter;
进口android.widget.ListView;公共类CarDetail扩展ListFragment {
   私人的ListView LCARS;
   私人的ArrayList<汽车> listCar =新的ArrayList<汽车>();
   私人CarAdapter carAdapter;
    私人INT carId = 0;    @覆盖
    公共查看onCreateView(LayoutInflater充气器,容器的ViewGroup,捆绑savedInstanceState){
        查看V1 = inflater.inflate(R.layout.customize_layout,集装箱,FALSE);
        LCARS =(ListView控件)v1.findViewById(android.R.id.list);
        返回V1;
    }    @覆盖
    公共无效onActivityCreated(捆绑savedInstanceState){
        super.onActivityCreated(savedInstanceState);
        lCars.setAdapter(carAdapter);
    }    @覆盖
    公共无效的onCreate(捆绑savedInstanceState){
        super.onCreate(savedInstanceState);
        carAdapter =新CarAdapter(getActivity(),R.layout.car_detail,listCar);
        如果(carId大于0)
        {
           新CarAsyncTask(carId).execute();
                     //只要它与上完成创建,它抛出异常。
        }
    }    公共无效SearchParameters(INT ID){
        carId = ID;
    }
    私有类CarAsyncTask扩展的AsyncTask<整数,太虚,列表与LT;汽车>> {
        公众诠释的id = 0;
        公共CarAsyncTask(IN​​T carId){
            ID = carId;
        }        @覆盖
        保护列表与LT;汽车> doInBackground(整数... PARAMS){
            //列表<汽车>项目= NULL;
            清单<汽车>项目=新的ArrayList<汽车>();
            item.add(新车(雪佛兰,随想,2002,1));
            item.add(新车(雪佛兰,名仕,2014,2));
            item.add(新车(道奇,层云,2002,3));
            item.add(新车(土星,L300,2004,4));            归还物品;
        }        @覆盖
        在preExecute保护无效(){
            // TODO自动生成方法存根
            super.on preExecute();
            listCar.clear();
            carAdapter.clear();        }        @覆盖
        保护无效onPostExecute(列表<汽车>的结果){
            super.onPostExecute(结果);
            对于(车载C:结果)
            {
                如果(c.getID()== carId)
                {
                    carAdapter.add(C);
                    carAdapter.notifyDataSetChanged();
                }
            }
        }    }}

// car_detail.xml

 <?XML版本=1.0编码=UTF-8&GT?;
< LinearLayout中的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android
    机器人:layout_width =match_parent
    机器人:layout_height =match_parent
    机器人:方向=垂直>   <的TextView
        机器人:ID =@ + ID / tvMake
        机器人:layout_width =WRAP_CONTENT
        机器人:layout_height =WRAP_CONTENT
        机器人:文字=测试/>    <的TextView
        机器人:ID =@ + ID / tvModel
        机器人:layout_width =WRAP_CONTENT
        机器人:layout_height =WRAP_CONTENT
        机器人:文字=使/>    <的TextView
        机器人:ID =@ + ID / tvYear
        机器人:layout_width =WRAP_CONTENT
        机器人:layout_height =WRAP_CONTENT
        机器人:文字=年/>     <的TextView
        机器人:ID =@ + ID / TVID
        机器人:layout_width =WRAP_CONTENT
        机器人:layout_height =WRAP_CONTENT
        机器人:文字=ID/>< / LinearLayout中>
//自定义布局< XML版本=1.0编码=UTF-8&GT?;
 < LinearLayout中的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android
         机器人:方向=垂直
         机器人:layout_width =match_parent
         机器人:layout_height =match_parent
         机器人:paddingLeft =8DP
         机器人:paddingRight =8DP>     < ListView的机器人:ID =@ ID /安卓名单
               机器人:layout_width =match_parent
               机器人:layout_height =match_parent
               机器人:layout_weight =1
               机器人:背景=#FFFF00
               机器人:drawSelectorOnTop =FALSE/>     < TextView的机器人:ID =@ ID /安卓空
               机器人:layout_width =match_parent
               机器人:layout_height =match_parent
               机器人:背景=#FF00FF
               机器人:文字=无数据/>
 < / LinearLayout中>
例外:08-22 21:00:21.051:E / AndroidRuntime(907):致命异常:主要
08-22 21:00:21.051:E / AndroidRuntime(907):java.lang.IllegalArgumentException异常:(com.mb.carlovers:ID / fCarDetail)未找到ID 0x7f090013鉴于片段CarDetail {40d97200#0 ID = 0x7f090013}
08-22 21:00:21.051:E / AndroidRuntime(907):在android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:919)
08-22 21:00:21.051:E / AndroidRuntime(907):在android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104)
08-22 21:00:21.051:E / AndroidRuntime(907):在android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
08-22 21:00:21.051:E / AndroidRuntime(907):在android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1460)
08-22 21:00:21.051:E / AndroidRuntime(907):在android.support.v4.app.FragmentManagerImpl $ 1.run(FragmentManager.java:440)
08-22 21:00:21.051:E / AndroidRuntime(907):在android.os.Handler.handleCallback(Handler.java:725)
08-22 21:00:21.051:E / AndroidRuntime(907):在android.os.Handler.dispatchMessage(Handler.java:92)
08-22 21:00:21.051:E / AndroidRuntime(907):在android.os.Looper.loop(Looper.java:137)
08-22 21:00:21.051:E / AndroidRuntime(907):在android.app.ActivityThread.main(ActivityThread.java:5041)
08-22 21:00:21.051:E / AndroidRuntime(907):在java.lang.reflect.Method.invokeNative(本机方法)
08-22 21:00:21.051:E / AndroidRuntime(907):在java.lang.reflect.Method.invoke(Method.java:511)
08-22 21:00:21.051:E / AndroidRuntime(907):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:793)
08-22 21:00:21.051:E / AndroidRuntime(907):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
08-22 21:00:21.051:E / AndroidRuntime(907):在dalvik.system.NativeStart.main(本机方法)
08-22 21:00:21.172:W / ActivityManager(290):强制完成活动com.mb.carlovers /。人
08-22 21:00:21.231:W /窗口管理器(290):未能采取截图为(237x148)到层21015
08-22 21:00:21.631:E / SurfaceFlinger的(37):ro.sf.lcd_density必须定义为构建属性
08-22 21:00:21.751:W / ActivityManager(290):为ActivityRecord活动暂停超时{40f05be8 U0 com.mb.carlovers /。人们}
08-22 21:00:21.821:D / dalvikvm(290):GC_CONCURRENT释放752K,18%免费5916K / 7192K,暂停74ms + 104ms,515ms总
08-22 21:00:31.265:W / ActivityManager(290):启动超时已过期,放弃

//下面是OwnerDetail code

 包com.mb.carlovers;
进口的java.util.ArrayList;
进口的java.util.List;进口com.mb.carlovers.adapter.OwnerAdapter;进口android.os.AsyncTask;
进口android.os.Bundle;
进口android.support.v4.app.FragmentManager;
进口android.support.v4.app.FragmentTransaction;
进口android.support.v4.app.ListFragment;
进口android.util.Log;
进口android.view.LayoutInflater;
进口android.view.View;
进口android.view.ViewGroup;
进口android.widget.ListView;公共类OwnerDetail扩展ListFragment {
   私人的ListView mListView;
   私人的ArrayList<拥有者GT;的listItem =新的ArrayList<拥有者GT;();
   私人OwnerAdapter ownerAdapter;
   私有String [] searchParameter = NULL;   公共无效SearchParameters(字符串[]参数)
   {
       sea​​rchParameter =参数;
   }    @覆盖
    公共查看onCreateView(LayoutInflater充气器,容器的ViewGroup,捆绑savedInstanceState){
        查看V1 = inflater.inflate(R.layout.customize_layout,集装箱,FALSE);
        mListView =(ListView控件)v1.findViewById(android.R.id.list);
        返回V1;
    }    @覆盖
    公共无效onActivityCreated(捆绑savedInstanceState)
    {
        super.onActivityCreated(savedInstanceState);
        mListView.setAdapter(ownerAdapter);
      // ownerAdapter.notifyDataSetChanged();
    }    @覆盖
    公共无效的onCreate(捆绑savedInstanceState){
        super.onCreate(savedInstanceState);
        ownerAdapter =新OwnerAdapter(getActivity(),R.layout.owner_detail,的listItem);
        如果(!(searchParameter == NULL))
        {
            //ownerAdapter.clear();
        // ownerAdapter.addAll(的listItem);
            新OnwerAsyncTask()执行();
            //ownerAdapter.notifyDataSetChanged();
        }
    }    @覆盖
    公共无效onListItemClick(ListView中升,视图V,INT位置,长的id){
        // TODO自动生成方法存根
        //super.onListItemClick(l,V,位置,ID);
        INT搜索= 0;
        所有者=(所有者)getListView()getItemAtPosition(位置)。
        字符串名称= a.getFirstName();
        字符串LNAME = a.getLastName();
        字符串ID = a.getCarId();        FragmentManager mFragment = getChildFragmentManager();
        FragmentTransaction英尺= mFragment.beginTransaction();
        CarDetail cDetail =新CarDetail();
        cDetail.SearchParameters(的Integer.parseInt(ID));
        ft.replace(R.id.fCarDetail,cDetail);
        ft.addToBackStack(NULL);
        ft.commit();
    }
    私有类OnwerAsyncTask扩展的AsyncTask<太虚,太虚,列表与LT;所有者>> {
        @覆盖
        保护列表与LT;所有者> doInBackground(虚空...... PARAMS){
            ArrayList的<拥有者GT; listItemLocal =新的ArrayList<拥有者GT;();
            尝试
            {
                业主的项目=新主人();
                items.setFirstName(约翰);
                items.setLastName(史密斯);
                items.setCarId(1);
                listItemLocal.add(项目);                业主ITEM1 =新用户();
                item1.setFirstName(萨曼莎);
                item1.setLastName(右);
                item1.setCarId(2);
                listItemLocal.add(ITEM1);                业主ITEM2 =新用户();
                item2.setFirstName(REGIE);
                item2.setLastName(米勒);
                item2.setCarId(3);
                listItemLocal.add(ITEM2);                业主项目3 =新主人();
                item3.setFirstName(标记);
                item3.setLastName(亚当);
                item3.setCarId(4);
                listItemLocal.add(项目3);
            }赶上(异常前)
            {
                ex.toString();
            }
            返回listItemLocal;
        }        @覆盖
        在preExecute保护无效(){
            listItem.clear();
            ownerAdapter.clear();
            super.on preExecute();
        }        @覆盖
        保护无效onPostExecute(列表<拥有者GT;的结果){
            / * OwnerDetail片段=(OwnerDetail)mActivity.getSupportFragmentManager()findFragmentById(R.id.fOwnerDetail)。
            fragment.SetAdapter(结果); * /
            的listItem =(ArrayList的<拥有者GT;)的结果;
            super.onPostExecute(结果);
            如果(listItem.size()大于0)
            {
                ownerAdapter.clear();
                ownerAdapter.addAll(的listItem);
                ownerAdapter.notifyDataSetChanged();
                Log.i(测试,添加+ result.size()+项目到适配器。);
            }
        }    }
}


解决方案

一遍又一遍调试应用程序后,我终于找到了问题。在汽车类中,carId被宣布为一个整数;不过,我称之为传递一个整数集ID无需将其转换为在CarAdapter的字符串。我改变了ID为一个字符串,我将其转换回整我做的ID比较之前。有用。

  //这块code下面是导致该问题。
holder.tvId.setText(item.getID());

I have a class that is displaying a list of owner using ListFragment. When a user clicked on an owner, it supposed to replace the bottom fragment with a new fragment that would list the owner’s car. The issue is that it kept throwing an exception No view found for id 0x7f090013 even though I created a view for it. What am I doing wrong here?

//This is the onListItemClick where I am calling to replace the other fragment (Full code will be posted at the end.)

@Override
public void onListItemClick(ListView l, View v, int position, long id) {
    // TODO Auto-generated method stub
    //super.onListItemClick(l, v, position, id);
    int search = 0;
    Owner a = (Owner) getListView().getItemAtPosition(position);
    String name = a.getFirstName();
    String lName = a.getLastName();
    String Id = a.getCarId();

    FragmentManager mFragment = getChildFragmentManager();
    FragmentTransaction ft = mFragment.beginTransaction();
    CarDetail cDetail = new CarDetail();
    cDetail.SearchParameters(Integer.parseInt(Id));
    ft.replace(R.id.fCarDetail, cDetail);
    ft.addToBackStack(null);
    ft.commit();    
}

//This is the car Detail Fragment

import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v4.app.ListFragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class CarDetail extends ListFragment {
   private ListView lCars;
   private ArrayList<Car> listCar = new ArrayList<Car>();
   private CarAdapter carAdapter;
    private int carId = 0;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View v1 = inflater.inflate(R.layout.customize_layout,container,false);
        lCars = (ListView) v1.findViewById(android.R.id.list);
        return v1;
    }

    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        lCars.setAdapter(carAdapter);
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        carAdapter = new CarAdapter(getActivity(), R.layout.car_detail, listCar);
        if(carId > 0)
        {
           new CarAsyncTask(carId).execute();
                     //As soon as it done with the on create, it throw the exception. 
        }
    }

    public void SearchParameters(int id) {
        carId = id;
    }




    private class CarAsyncTask extends AsyncTask<Integer, Void, List<Car>> {
        public int id =0;


        public CarAsyncTask(int carId) {
            id = carId;
        }

        @Override
        protected List<Car> doInBackground(Integer... params) {
            //List<Car> item = null;
            List<Car> item = new ArrayList<Car>();
            item.add(new Car("Chevy","Caprice","2002", 1));
            item.add(new Car("Chevy","Malibu","2014", 2));
            item.add(new Car("Dodge","Stratus","2002", 3));
            item.add(new Car("Saturn","L300","2004", 4));

            return item;
        }



        @Override
        protected void onPreExecute() {
            // TODO Auto-generated method stub
            super.onPreExecute();
            listCar.clear();
            carAdapter.clear();

        }

        @Override
        protected void onPostExecute(List<Car> result) {
            super.onPostExecute(result);
            for(Car c: result)
            {
                if(c.getID() == carId)
                {
                    carAdapter.add(c);
                    carAdapter.notifyDataSetChanged();
                }
            }
        }

    }

}

//car_detail.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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/tvMake"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="test" />

    <TextView
        android:id="@+id/tvModel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="make" />

    <TextView
        android:id="@+id/tvYear"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="year" />

     <TextView
        android:id="@+id/tvID"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="ID" />

</LinearLayout>
//the customize layout

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

     <ListView android:id="@id/android:list"
               android:layout_width="match_parent"
               android:layout_height="match_parent"
               android:layout_weight="1"
               android:background="#FFFF00"
               android:drawSelectorOnTop="false"/>

     <TextView android:id="@id/android:empty"
               android:layout_width="match_parent"
               android:layout_height="match_parent"
               android:background="#FF00FF"
               android:text="No data"/>
 </LinearLayout>
Exception:

08-22 21:00:21.051: E/AndroidRuntime(907): FATAL EXCEPTION: main
08-22 21:00:21.051: E/AndroidRuntime(907): java.lang.IllegalArgumentException: No view found for id 0x7f090013 (com.mb.carlovers:id/fCarDetail) for fragment CarDetail{40d97200 #0 id=0x7f090013}
08-22 21:00:21.051: E/AndroidRuntime(907):  at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:919)
08-22 21:00:21.051: E/AndroidRuntime(907):  at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104)
08-22 21:00:21.051: E/AndroidRuntime(907):  at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
08-22 21:00:21.051: E/AndroidRuntime(907):  at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1460)
08-22 21:00:21.051: E/AndroidRuntime(907):  at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:440)
08-22 21:00:21.051: E/AndroidRuntime(907):  at android.os.Handler.handleCallback(Handler.java:725)
08-22 21:00:21.051: E/AndroidRuntime(907):  at android.os.Handler.dispatchMessage(Handler.java:92)
08-22 21:00:21.051: E/AndroidRuntime(907):  at android.os.Looper.loop(Looper.java:137)
08-22 21:00:21.051: E/AndroidRuntime(907):  at android.app.ActivityThread.main(ActivityThread.java:5041)
08-22 21:00:21.051: E/AndroidRuntime(907):  at java.lang.reflect.Method.invokeNative(Native Method)
08-22 21:00:21.051: E/AndroidRuntime(907):  at java.lang.reflect.Method.invoke(Method.java:511)
08-22 21:00:21.051: E/AndroidRuntime(907):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
08-22 21:00:21.051: E/AndroidRuntime(907):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
08-22 21:00:21.051: E/AndroidRuntime(907):  at dalvik.system.NativeStart.main(Native Method)
08-22 21:00:21.172: W/ActivityManager(290):   Force finishing activity com.mb.carlovers/.People
08-22 21:00:21.231: W/WindowManager(290): Failure taking screenshot for (237x148) to layer 21015
08-22 21:00:21.631: E/SurfaceFlinger(37): ro.sf.lcd_density must be defined as a build property
08-22 21:00:21.751: W/ActivityManager(290): Activity pause timeout for ActivityRecord{40f05be8 u0 com.mb.carlovers/.People}
08-22 21:00:21.821: D/dalvikvm(290): GC_CONCURRENT freed 752K, 18% free 5916K/7192K, paused 74ms+104ms, total 515ms
08-22 21:00:31.265: W/ActivityManager(290): Launch timeout has expired, giving up

//Below is the OwnerDetail Code

package com.mb.carlovers;
import java.util.ArrayList;
import java.util.List;

import com.mb.carlovers.adapter.OwnerAdapter;

import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.app.ListFragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;

public class OwnerDetail extends ListFragment {
   private ListView mListView;
   private ArrayList<Owner> listItem = new ArrayList<Owner>();
   private OwnerAdapter ownerAdapter;
   private String[] searchParameter = null;

   public void SearchParameters(String[] parameters)
   {
       searchParameter = parameters;
   }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
        View v1 = inflater.inflate(R.layout.customize_layout,container, false);
        mListView = (ListView) v1.findViewById(android.R.id.list);
        return v1;
    }

    @Override
    public void onActivityCreated(Bundle savedInstanceState) 
    {
        super.onActivityCreated(savedInstanceState);
        mListView.setAdapter(ownerAdapter);
      //  ownerAdapter.notifyDataSetChanged();
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        ownerAdapter = new OwnerAdapter(getActivity(), R.layout.owner_detail, listItem);
        if(!(searchParameter == null))
        {
            //ownerAdapter.clear();
        //  ownerAdapter.addAll(listItem);
            new OnwerAsyncTask().execute();
            //ownerAdapter.notifyDataSetChanged();
        }
    }

    @Override
    public void onListItemClick(ListView l, View v, int position, long id) {
        // TODO Auto-generated method stub
        //super.onListItemClick(l, v, position, id);
        int search = 0;
        Owner a = (Owner) getListView().getItemAtPosition(position);
        String name = a.getFirstName();
        String lName = a.getLastName();
        String Id = a.getCarId();

        FragmentManager mFragment = getChildFragmentManager();
        FragmentTransaction ft = mFragment.beginTransaction();
        CarDetail cDetail = new CarDetail();
        cDetail.SearchParameters(Integer.parseInt(Id));
        ft.replace(R.id.fCarDetail, cDetail);
        ft.addToBackStack(null);
        ft.commit();    
    }


    private class OnwerAsyncTask extends AsyncTask<Void, Void, List<Owner>> {
        @Override
        protected List<Owner> doInBackground(Void... params) {
            ArrayList<Owner> listItemLocal = new ArrayList<Owner>();
            try
            {
                Owner items = new Owner();
                items.setFirstName("John");
                items.setLastName("Smith");
                items.setCarId("1");
                listItemLocal.add(items);

                Owner item1 = new Owner();
                item1.setFirstName("Samantha");
                item1.setLastName("Right");
                item1.setCarId("2");
                listItemLocal.add(item1);

                Owner item2 = new Owner();
                item2.setFirstName("Regie");
                item2.setLastName("Miller");
                item2.setCarId("3");
                listItemLocal.add(item2);

                Owner item3 = new Owner();
                item3.setFirstName("Mark");
                item3.setLastName("Adam");
                item3.setCarId("4");
                listItemLocal.add(item3);


            } catch(Exception ex)
            {
                ex.toString();
            }
            return listItemLocal;
        }



        @Override
        protected void onPreExecute() {
            listItem.clear();
            ownerAdapter.clear();
            super.onPreExecute();
        }



        @Override
        protected void onPostExecute(List<Owner> result) {
            /*OwnerDetail  fragment = (OwnerDetail) mActivity.getSupportFragmentManager().findFragmentById(R.id.fOwnerDetail);
            fragment.SetAdapter(result);*/
            listItem = (ArrayList<Owner>) result;
            super.onPostExecute(result);
            if(listItem.size() > 0)
            {
                ownerAdapter.clear();
                ownerAdapter.addAll(listItem);
                ownerAdapter.notifyDataSetChanged();
                Log.i("Testing", "Added " + result.size() + "items to adapter.");
            }
        }

    }
}

解决方案

After debugging the application over and over, I finally found the issue. In the car class, the carId was declared as an integer; however, I call the set ID passing an integer without converting it to a string in the CarAdapter. I changed the ID to a string, and I convert it back to an integer before I do the Id comparison. It works.

//the piece of code below was causing the issue.
holder.tvId.setText(item.getID());

这篇关于问题与ListFragment显示数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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