首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FirebaseUI RecyclerView出错

FirebaseUI RecyclerView出错
EN

Stack Overflow用户
提问于 2016-09-23 18:19:21
回答 2查看 385关注 0票数 0

我在运行应用程序时遇到此错误。我已经在下面发布了我的代码。

代码语言:javascript
复制
09-23 15:40:02.995 23658-23677/com.cleanpune.android.cleanpuneproject E/dalvikvm: Could not find class 'android.app.AppOpsManager', referenced from method com.google.android.gms.internal.zzro.zzg
09-23 15:40:05.985 23658-23694/com.cleanpune.android.cleanpuneproject E/NativeCrypto: ssl=0x5d26e508 cert_verify_callback x509_store_ctx=0x5e497a40 arg=0x0
09-23 15:40:05.986 23658-23696/com.cleanpune.android.cleanpuneproject E/NativeCrypto: ssl=0x5d26e328 cert_verify_callback x509_store_ctx=0x5e597a40 arg=0x0
09-23 15:40:05.987 23658-23694/com.cleanpune.android.cleanpuneproject E/NativeCrypto: ssl=0x5d26e508 cert_verify_callback calling verifyCertificateChain authMethod=DHE_RSA
09-23 15:40:05.988 23658-23696/com.cleanpune.android.cleanpuneproject E/NativeCrypto: ssl=0x5d26e328 cert_verify_callback calling verifyCertificateChain authMethod=DHE_RSA
09-23 15:40:08.181 23658-23742/com.cleanpune.android.cleanpuneproject E/NativeCrypto: ssl=0x5ec91e38 cert_verify_callback x509_store_ctx=0x5e497ab0 arg=0x0
09-23 15:40:08.184 23658-23742/com.cleanpune.android.cleanpuneproject E/NativeCrypto: ssl=0x5ec91e38 cert_verify_callback calling verifyCertificateChain authMethod=ECDHE_RSA
09-23 15:40:12.161 23658-23658/com.cleanpune.android.cleanpuneproject E/test: Exception
09-23 15:40:12.170 23658-23658/com.cleanpune.android.cleanpuneproject E/AndroidRuntime: FATAL EXCEPTION: main
                                                                                        com.google.firebase.database.DatabaseException: Found two getters or fields with conflicting case sensitivity for property: details
                                                                                            at com.google.android.gms.internal.zzaln$zza.zzst(Unknown Source)
                                                                                            at com.google.android.gms.internal.zzaln$zza.<init>(Unknown Source)
                                                                                            at com.google.android.gms.internal.zzaln.zzj(Unknown Source)
                                                                                            at com.google.android.gms.internal.zzaln.zzd(Unknown Source)
                                                                                            at com.google.android.gms.internal.zzaln.zzb(Unknown Source)
                                                                                            at com.google.android.gms.internal.zzaln.zza(Unknown Source)
                                                                                            at com.google.firebase.database.DataSnapshot.getValue(Unknown Source)
                                                                                            at com.firebase.ui.database.FirebaseRecyclerAdapter.parseSnapshot(FirebaseRecyclerAdapter.java:154)
                                                                                            at com.firebase.ui.database.FirebaseRecyclerAdapter.getItem(FirebaseRecyclerAdapter.java:143)
                                                                                            at com.firebase.ui.database.FirebaseRecyclerAdapter.onBindViewHolder(FirebaseRecyclerAdapter.java:183)
                                                                                            at android.support.v7.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:5471)
                                                                                            at android.support.v7.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:5504)
                                                                                            at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4741)
                                                                                            at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4617)
                                                                                            at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:1994)
                                                                                            at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1390)
                                                                                            at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1353)
                                                                                            at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:574)
                                                                                            at android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3028)
                                                                                            at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:2906)
                                                                                            at android.support.v7.widget.RecyclerView.consumePendingUpdateOperations(RecyclerView.java:1482)
                                                                                            at android.support.v7.widget.RecyclerView.access$400(RecyclerView.java:147)
                                                                                            at android.support.v7.widget.RecyclerView$1.run(RecyclerView.java:294)
                                                                                            at android.view.Choreographer$CallbackRecord.run(Choreographer.java:776)
                                                                                            at android.view.Choreographer.doCallbacks(Choreographer.java:579)
                                                                                            at android.view.Choreographer.doFrame(Choreographer.java:547)
                                                                                            at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:762)
                                                                                            at android.os.Handler.handleCallback(Handler.java:725)
                                                                                            at android.os.Handler.dispatchMessage(Handler.java:92)
                                                                                            at android.os.Looper.loop(Looper.java:153)
                                                                                            at android.app.ActivityThread.main(ActivityThread.java:5299)
                                                                                            at java.lang.reflect.Method.invokeNative(Native Method)
                                                                                            at java.lang.reflect.Method.invoke(Method.java:511)
                                                                                            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
                                                                                            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
                                                                                            at dalvik.system.NativeStart.main(Native Method)

我不知道我要去哪里wrong.Kindly救命!我包含了所有的库,并且使用picasao来检索图像。这是TestActivity.java

代码语言:javascript
复制
public class TestActivity extends AppCompatActivity {
private RecyclerView recyclerView;
private LinearLayoutManager linearLayoutManager;
private DatabaseReference databaseReference;
private FirebaseRecyclerAdapter<Post, PostViewHolder> mAdapter;



@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_test);
    databaseReference = FirebaseDatabase.getInstance().getReference().child("Posts");

    recyclerView = (RecyclerView) findViewById(R.id.posts_list);
    recyclerView.setHasFixedSize(true);

    recyclerView.setLayoutManager(new LinearLayoutManager(this));






}
@Override
public void onStart() {
    super.onStart();
    mAdapter = new FirebaseRecyclerAdapter<Post, PostViewHolder>(
            Post.class,
            R.layout.posts_row,
            PostViewHolder.class,
            databaseReference

    )
    {
        @Override
        protected void populateViewHolder(PostViewHolder viewHolder, Post model, int position) {
            viewHolder.setDetails(model.getDetails());
            viewHolder.setLocation(model.getLocation());
            viewHolder.setImages(getApplicationContext(),model.getImages());


        }
    };

    recyclerView.setAdapter(mAdapter);


}
public static class PostViewHolder extends RecyclerView.ViewHolder {

    View view;

    public PostViewHolder(View itemView) {
        super(itemView);
        view = itemView;

    }

    public void setLocation(String location) {
        TextView textView = (TextView) view.findViewById(R.id.post_location);
        textView.setText(location);
    }

    public void setDetails(String details) {
        TextView textView = (TextView) view.findViewById(R.id.post_location);
        textView.setText(details);
    }

    public void setImages(Context context, String images) {
        ImageView image = (ImageView) view.findViewById(R.id.post_image);
        Picasso.with(context).load(images).into(image);

    }
 }

}

这是Model Post类

代码语言:javascript
复制
public class Post {
public String Details, Location, Images;

public Post(String details, String location) {
    Details = details;
    Location = location;
}

public String getDetails() {
    return Details;
}

public String getLocation() {
    return Location;
}
public Post(){

}

public String getImages() {
    return Images;
}

}

EN

回答 2

Stack Overflow用户

发布于 2016-09-23 19:58:47

您的代码中有几个错误会使Firebase客户端感到困惑:

  1. 您的字段是公共的,但您的getters/setters
  2. your字段名称也以大写字母

开头

如果您将您的类更改为更加惯用,则如下所示

代码语言:javascript
复制
public class Post {    
    private String details, location, images;

    public Post(){ }
    public Post(String details, String location) {
        this.details = details;
        this.location = location;
    }

    public String getDetails() {
        return details;
    }

    public String getLocation() {
        return location;
    }

    public String getImages() {
        return images;
    }
}

或者,您可以拥有一个只包含公共字段(而不包含getter/setter)的类:

代码语言:javascript
复制
public class Post {    
    public String Details, Location, Images;

    public Post(){ }
    public Post(String details, String location) {
        Details = details;
        Location = location;
    }
}
票数 1
EN

Stack Overflow用户

发布于 2016-09-23 18:46:15

请尝试使用此模型类

代码语言:javascript
复制
@IgnoreExtraProperties
public class Post {
    public String Details, Location, Images;

    public Post(){

    }

    public Post(String details, String location, String images) {
        Details = details;
        Location = location;
        Images = images;
    }

    @Exclude
    public Map<String, Object> toMap() {
        HashMap<String, Object> result = new HashMap<>();
        result.put("Details", Details);
        result.put("Location", Location);
        result.put("Images", Images);
        return result;
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39658345

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档