【问题标题】:Could not complete scheduled request to refresh entries. ClientErrorCode: 3无法完成刷新条目的计划请求。客户端错误代码:3
【发布时间】:2018-08-30 12:53:03
【问题描述】:

我收到 Firebase UI 回收器视图的异常错误。我还包含错误附件。这是一个 Firebase Recycler 视图。我在哪里使用 firebase 回收器适配器。每当我去用户活动时,它都会崩溃,在 logcat 中出现异常错误。请帮忙。 这是我的代码:

private Toolbar mToolbar;
private RecyclerView mUsersList;

private DatabaseReference AllUsersRef;
private FirebaseAuth mAuth;
String currentUserID;
private Query query;

private FirebaseRecyclerOptions<Users> options;
private FirebaseRecyclerAdapter<Users, UsersViewHolder> adapter;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_users);


    AllUsersRef = FirebaseDatabase.getInstance().getReference().child("users");

    mToolbar = findViewById(R.id.users_app_bar);
    setSupportActionBar(mToolbar);
    getSupportActionBar().setTitle("All Users");
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);

    mUsersList = findViewById(R.id.users_list);
    mUsersList.setHasFixedSize(true);
    LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
    mUsersList.setLayoutManager(linearLayoutManager);

}

@Override
protected void onStart() {
    super.onStart();

    AllUsersRef.child("online").setValue(true);

    options = new FirebaseRecyclerOptions.Builder<Users>().setQuery(AllUsersRef, Users.class).build();

    adapter = new FirebaseRecyclerAdapter<Users, UsersViewHolder>(options) {
        @Override
        protected void onBindViewHolder(@NonNull UsersViewHolder holder, int position, @NonNull Users model) {

            final String user_id = getRef(position).getKey();

            holder.mName.setText(model.getName());
            holder.mStatus.setText(model.getStatus());

            Picasso.get().load(model.getImage()).into(holder.mImage);

            holder.itemView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    Intent profileIntent = new Intent(UsersActivity.this, ProfileActivity.class);
                    profileIntent.putExtra("user_id", user_id);
                    startActivity(profileIntent);
                }
            });
        }

        @NonNull
        @Override
        public UsersViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {

            View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.users_display_layout, viewGroup, false);

            return new UsersViewHolder(view);
        }
    };

    adapter.startListening();
    mUsersList.setAdapter(adapter);
}


@Override
protected void onStop() {
    super.onStop();

    FirebaseUser currentUser = FirebaseAuth.getInstance().getCurrentUser();

    if(currentUser != null) {

        //AllUsersRef.child("online").setValue(false);
    }

}
}

这是我的 LOGCat 错误:

08-30 18:16:01.581 2667-9189/com.google.android.googlequicksearchbox:search E/EntrySyncManager: Cannot determine account name: drop request
08-30 18:16:01.582 2667-9189/com.google.android.googlequicksearchbox:search E/NowController: Failed to access data from EntryProvider. ExecutionException.
    java.util.concurrent.ExecutionException: com.google.android.apps.gsa.sidekick.main.h.n: Could not complete scheduled request to refresh entries. ClientErrorCode: 3
        at com.google.common.util.concurrent.d.eA(SourceFile:85)
        at com.google.common.util.concurrent.d.get(SourceFile:23)
        at com.google.common.util.concurrent.l.get(SourceFile:2)
        at com.google.android.apps.gsa.staticplugins.nowstream.b.a.be.caI(SourceFile:47)
        at com.google.android.apps.gsa.staticplugins.nowstream.b.a.be.caH(SourceFile:176)
        at com.google.android.apps.gsa.staticplugins.nowstream.b.a.bh.run(Unknown Source:2)
        at com.google.android.apps.gsa.shared.util.concurrent.at.run(SourceFile:4)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:458)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:458)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at com.google.android.apps.gsa.shared.util.concurrent.b.g.run(Unknown Source:4)
        at com.google.android.apps.gsa.shared.util.concurrent.b.aw.run(SourceFile:4)
        at com.google.android.apps.gsa.shared.util.concurrent.b.aw.run(SourceFile:4)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
        at java.lang.Thread.run(Thread.java:764)
        at com.google.android.apps.gsa.shared.util.concurrent.b.i.run(SourceFile:6)
     Caused by: com.google.android.apps.gsa.sidekick.main.h.n: Could not complete scheduled request to refresh entries. ClientErrorCode: 3
        at com.google.android.apps.gsa.staticplugins.nowstream.b.a.aq.az(Unknown Source:4)
        at com.google.common.util.concurrent.q.ap(SourceFile:7)
        at com.google.common.util.concurrent.p.run(SourceFile:32)
        at com.google.common.util.concurrent.bt.execute(SourceFile:3)
        at com.google.common.util.concurrent.d.b(SourceFile:275)
        at com.google.common.util.concurrent.d.addListener(SourceFile:135)
        at com.google.common.util.concurrent.p.b(SourceFile:3)
        at com.google.android.apps.gsa.shared.util.concurrent.h.a(SourceFile:16)
        at com.google.android.apps.gsa.shared.util.concurrent.h.a(SourceFile:13)
        at com.google.android.apps.gsa.staticplugins.nowstream.b.a.be.caI(SourceFile:45)
        at com.google.android.apps.gsa.staticplugins.nowstream.b.a.be.caH(SourceFile:176) 
        at com.google.android.apps.gsa.staticplugins.nowstream.b.a.bh.run(Unknown Source:2) 
        at com.google.android.apps.gsa.shared.util.concurrent.at.run(SourceFile:4) 
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:458) 
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:458) 
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
        at com.google.android.apps.gsa.shared.util.concurrent.b.g.run(Unknown Source:4) 
        at com.google.android.apps.gsa.shared.util.concurrent.b.aw.run(SourceFile:4) 
        at com.google.android.apps.gsa.shared.util.concurrent.b.aw.run(SourceFile:4) 
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 
        at java.lang.Thread.run(Thread.java:764) 
        at com.google.android.apps.gsa.shared.util.concurrent.b.i.run(SourceFile:6)

 enter image description here

【问题讨论】:

  • 堆栈跟踪中没有提到 Firebase。您确定此问题与 FirebaseUI 有关吗?
  • 请您告诉我解决方案而不是怀疑确切的问题吗?
  • 如果我的评论没有帮助,我很抱歉。这真的不是故意的。只是根据您目前提供的信息,我无能为力。如果我知道解决方案,我会回答的。由于没有人回答,我认为没有人很容易知道问题出在哪里。从堆栈跟踪中,我看不出 FirebaseUI 是如何导致的,这就是我问的原因。您可以通过回答来帮助我们尝试帮助您。例如:您为什么认为这与 FirebaseUI 有关?只有在添加 FirebaseUI 后才会出现异常吗?如果您删除 FirebaseUI,异常会消失吗?
  • @AshiishKarhade 您好,欢迎来到 SO。弗兰克实际上是对的,它与 Firebase 无关。似乎代码中存在问题或其他问题。看看,希望对我有帮助:stackoverflow.com/questions/50324189/…

标签: android firebase android-recyclerview firebaseui


【解决方案1】:

嘿,我遇到了同样的问题,但我意识到真正的问题是在 LogCat 上的此错误上方几行。事实证明,我将持有人上的按钮文本设置为 int,这导致了问题,因为我需要使用经典的 String.valueOf() 来解决我的问题。

由于您的问题似乎与 Firebase 无关,因此问题可能出在 holder.mStatus.setText(model.getStatus()); 行,如果您的 getStatus() 方法偶然返回一个 int。 就像我的情况一样,您应该尝试用String.valueOf() 包围它。

希望这会有所帮助,祝你好运!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-25
    • 2012-06-18
    相关资源
    最近更新 更多