android–java.lang.ClassCastException:com.parse.ParseObject无法强制转换为

android–java.lang.ClassCastException:com.parse.ParseObject无法强制转换为,第1张

概述我创建了2个类(Meal,Restaurant),它们扩展了ParseObject,并创建了2个自定义适配器(BottomFragmentMealAdapter,RestaurantAdapter).我尝试在BottomFragmentMealAdapter(它可以)为RestaurantAdapter做任何事情.但它不起作用.这是我的日志:FATALEXCEPTION:main

我创建了2个类(Meal,Restaurant),它们扩展了ParSEObject,并创建了2个自定义适配器(BottomFragmentMealAdapter,RestaurantAdapter).我尝试在BottomFragmentMealAdapter(它可以)为RestaurantAdapter做任何事情.但它不起作用.
这是我的日志:

FATAL EXCEPTION: main
Process: com.bogazici.menumizer, PID: 14739
java.lang.ClassCastException: com.parse.ParSEObject cannot be cast to com.bogazici.menumizer.Restaurant
at com.bogazici.menumizer.RestaurantAdapter.getItemVIEw(RestaurantAdapter.java:17)
at com.parse.ParsequeryAdapter.getVIEw(ParsequeryAdapter.java:547)
at androID.Widget.AbsListVIEw.obtainVIEw(AbsListVIEw.java:2347)
at androID.Widget.ListVIEw.makeAndAddVIEw(ListVIEw.java:1864)
at androID.Widget.ListVIEw.fillDown(ListVIEw.java:698)
at androID.Widget.ListVIEw.fillFromtop(ListVIEw.java:759)
at androID.Widget.ListVIEw.layoutChildren(ListVIEw.java:1659)
at androID.Widget.AbsListVIEw.onLayout(AbsListVIEw.java:2151)
at androID.vIEw.VIEw.layout(VIEw.java:15671)
at androID.vIEw.VIEwGroup.layout(VIEwGroup.java:5038)
at androID.support.v4.Widget.SwipeRefreshLayout.onLayout(SwipeRefreshLayout.java:581)
at androID.vIEw.VIEw.layout(VIEw.java:15671)
at androID.vIEw.VIEwGroup.layout(VIEwGroup.java:5038)
at androID.support.v4.vIEw.VIEwPager.onLayout(VIEwPager.java:1627)
at androID.vIEw.VIEw.layout(VIEw.java:15671)
at androID.vIEw.VIEwGroup.layout(VIEwGroup.java:5038)
at androID.support.design.Widget.CoordinatorLayout.layoutChild(CoordinatorLayout.java:1034)
at androID.support.design.Widget.CoordinatorLayout.onLayoutChild(CoordinatorLayout.java:744)
at androID.support.design.Widget.VIEwOffsetBehavior.onLayoutChild(VIEwOffsetBehavior.java:42)
at androID.support.design.Widget.AppbarLayout$ScrollingVIEwBehavior.onLayoutChild(AppbarLayout.java:1180)
at androID.support.design.Widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:757)
at androID.vIEw.VIEw.layout(VIEw.java:15671)
at androID.vIEw.VIEwGroup.layout(VIEwGroup.java:5038)
at androID.Widget.FrameLayout.layoutChildren(FrameLayout.java:579)
at androID.Widget.FrameLayout.onLayout(FrameLayout.java:514)
at androID.vIEw.VIEw.layout(VIEw.java:15671)
at androID.vIEw.VIEwGroup.layout(VIEwGroup.java:5038)
at androID.Widget.linearLayout.setChildFrame(linearLayout.java:1703)
at androID.Widget.linearLayout.layoutVertical(linearLayout.java:1557)
at androID.Widget.linearLayout.onLayout(linearLayout.java:1466)
at androID.vIEw.VIEw.layout(VIEw.java:15671)
at androID.vIEw.VIEwGroup.layout(VIEwGroup.java:5038)
at androID.Widget.FrameLayout.layoutChildren(FrameLayout.java:579)
at androID.Widget.FrameLayout.onLayout(FrameLayout.java:514)
at androID.vIEw.VIEw.layout(VIEw.java:15671)
at androID.vIEw.VIEwGroup.layout(VIEwGroup.java:5038)
at androID.Widget.linearLayout.setChildFrame(linearLayout.java:1703)
at androID.Widget.linearLayout.layoutVertical(linearLayout.java:1557)
at androID.Widget.linearLayout.onLayout(linearLayout.java:1466)
at androID.vIEw.VIEw.layout(VIEw.java:15671)
at androID.vIEw.VIEwGroup.layout(VIEwGroup.java:5038)
at androID.Widget.FrameLayout.layoutChildren(FrameLayout.java:579)
at androID.Widget.FrameLayout.onLayout(FrameLayout.java:514)
at androID.vIEw.VIEw.layout(VIEw.java:15671)
at androID.vIEw.VIEwGroup.layout(VIEwGroup.java:5038)
at androID.vIEw.VIEwRootImpl.performlayout(VIEwRootImpl.java:2086)
at androID.vIEw.VIEwRootImpl.performTraversals(VIEwRootImpl.java:1843)
at androID.vIEw.VIEwRootImpl.doTraversal(VIEwRootImpl.java:1061)
at androID.vIEw.VIEwRootImpl$TraversalRunnable.run(VIEwRootImpl.java:5885)
at androID.vIEw.Choreographer$CallbackRecord.run(Choreographer.java:767)
at androID.vIEw.Choreographer.doCallbacks(Choreographer.java:580)
at androID.vIEw.Choreographer.doFrame(Choreographer.java:550)
at androID.vIEw.Choreographer$FramedisplayEventReceiver.run(Choreographer.java:753)
at androID.os.Handler.handleCallback(Handler.java:739)
at androID.os.Handler.dispatchMessage(Handler.java:95)
at androID.os.Looper.loop(Looper.java:135)
at androID.app.ActivityThread.main(ActivityThread.java:5257)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.androID.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
at com.androID.internal.os.ZygoteInit.main(Zyg

这是我的RestaurantAdapter

public class RestaurantAdapter extends ParsequeryAdapter<Restaurant> {    //top line is 17    private AlphaAnimation buttonClick;    public RestaurantAdapter(Context context, final String filter_edit, final String filter_city, final String filter_region,0 final int filter_sort) {       super(context, new ParsequeryAdapter.queryFactory<Restaurant>() {           public Parsequery<Restaurant> create() {               // Here we can configure a Parsequery to display               // only top-rated meals.               Parsequery query = new Parsequery("Restaurant");               query.whereContains("city", filter_city);           if(!filter_region.equals("*Hepsi*")&&!filter_region.equals("*All*"))                   query.whereContains("region",filter_region);               if(filter_edit.equals("nothing")){               }else{                   query.whereStartsWith("restaurant", filter_edit);               }               switch(filter_sort){                   case 0:                       query.orderByAscending("averagePrice");                       break;                   case 1:                       query.orderByDescending("averagePrice");                       break;                   case 2:                       query.orderByAscending("restaurant");                       break;                   case 3:                       query.orderByDescending("averagePoint");                       break;                   default:                       query.orderByAscending("restaurant");                       break;               }               return query;           }       });    }    @OverrIDe    public VIEw getItemVIEw(Restaurant restaurant, VIEw v, VIEwGroup parent) {        //buttonClick = new AlphaAnimation(1F, 0.8F);        if (v == null) {            v = VIEw.inflate(getContext(), R.layout.restaurant_List_item, null);        }        super.getItemVIEw(restaurant, v, parent);        final String str_call = restaurant.getPhone();        TextVIEw locationTextVIEw = (TextVIEw) v.findVIEwByID(R.ID.restaurant_location);        String str_location= restaurant.getRegion()+", "+restaurant.getCity();        locationTextVIEw.setText(str_location);        TextVIEw nameTextVIEw = (TextVIEw) v.findVIEwByID(R.ID.restaurant_name);        nameTextVIEw.setText(restaurant.getname());        TextVIEw pointTextVIEw = (TextVIEw) v.findVIEwByID(R.ID.restaurant_point);        String str_point = String.valueOf(restaurant.getAveragePoint());        pointTextVIEw.setText(str_point);        TextVIEw priceTextVIEw = (TextVIEw) v.findVIEwByID(R.ID.restaurant_averageprice);        String str_price = String.valueOf(restaurant.getAveragePrice())+" TL";        priceTextVIEw.setText(str_price);        ImageVIEw callimage = (ImageVIEw) v.findVIEwByID(R.ID.restaurant_call);        callimage.setonClickListener(new VIEw.OnClickListener() {            @OverrIDe            public voID onClick(VIEw w) {                // w.startAnimation(buttonClick);                Intent intent = new Intent(Intent.ACTION_DIAL);                intent.setData(Uri.parse("tel:"+str_call));                w.getContext().startActivity(intent);            }        });        TextVIEw mapText = (TextVIEw) v.findVIEwByID(R.ID.restaurant_map);        mapText.setonClickListener(new VIEw.OnClickListener() {            @OverrIDe            public voID onClick(VIEw w) {                //w.startAnimation(buttonClick);            }        });        return v;    }}

解决方法:

你必须检查两件事

>确保您的子类具有公共默认值(即零参数)构造函数.您不得修改此构造函数中的任何ParSEObject字段.

>在调用Parse.initialize()之前,在Application构造函数中调用ParSEObject.registerSubclass(YourClass.class).

总结

以上是内存溢出为你收集整理的android – java.lang.ClassCastException:com.parse.ParseObject无法强制转换为全部内容,希望文章能够帮你解决android – java.lang.ClassCastException:com.parse.ParseObject无法强制转换为所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1115134.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存