标签: firebaseui

是否存在侦听RecyclerView项目更改的现有方法?

假设我有一个RecyclerView,当它从数据库加载数据时,我想做点什么.我想它是这样的:

recyclerView.setOnUpdateListener(new OnUpdateListener() {
            @Override
            public void onChanged() {
                //I do whatever I want
            }
        };
Run Code Online (Sandbox Code Playgroud)

我见过的:

我看过这个链接,但问题不太清楚; 答案也没有,因为它没有解释它在做什么.它已经很老了.

我已经看过了,但还没有回答.


为什么?

因为我正在从数据库加载数据,并且我想在加载时显示进度圆,并在数据显示时将其关闭.

注意:我正在使用FirebaseRecyclerAdapter.

android android-recyclerview firebase-realtime-database firebaseui

2
推荐指数
1
解决办法
1078
查看次数

FirebaseUI-Android Auth UI - 如何使用 AuthUI.getInstance().createSignInIntentBuilder() 设置自定义背景图像

是否有任何选项可以使用 AuthUI.getInstance().createSignInIntentBuilder() 设置自定义背景图像?

或任何其他建议来设置此背景图像?

FirebaseUI-Android 版本:0.5.3

android firebase firebase-authentication firebaseui

2
推荐指数
1
解决办法
3243
查看次数

如何在 firebaseui 提供的 recyclerview 项目上使用上下文菜单

我想知道如何在 FirebaseUI 提供的 recyclerview 项目中放置上下文菜单,并且能够在知道长按哪个项目的情况下执行一些操作。因为当我尝试在我的持有者类上使用 onCreateContextMenu 时,我的 ContextMenuInfo 带有空值。这是我的持有人课程:

public class PlayerHolder extends RecyclerView.ViewHolder implements View.OnCreateContextMenuListener {
    //private static final String TAG = PlayerHolder.class.getSimpleName();
    public TextView playerName;
    public TextView playerAge;

    public PlayerHolder(View itemView) {
        super(itemView);
        playerName = (TextView) itemView.findViewById(R.id.player_name);
        playerAge = (TextView) itemView.findViewById(R.id.player_age);
        itemView.setOnCreateContextMenuListener(this);
    }

    public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
        menu.add(0, 1, 0, "Edit");//groupId, itemId, order, title
        menu.add(0, 2, 0, "Share");
        menu.add(0, 3, 0, "Delete");
    }

    //@Override
    public boolean onContextItemSelected(MenuItem item) {
        AdapterView.AdapterContextMenuInfo info = (AdapterView …
Run Code Online (Sandbox Code Playgroud)

android android-contextmenu navigation-drawer android-recyclerview firebaseui

2
推荐指数
1
解决办法
5589
查看次数

RecyclerView不会使用FirebaseRecyclerAdapter在首次启动时加载数据

我正在使用FirebaseRecyclerAdapter填充RecyclerViewa Fragment.

这是我的代码

mDatabase = FirebaseDatabase.getInstance().getReference();
myAdapter = new FirebaseRecyclerAdapter<Product, ProductViewHolder>(Product.class,
        R.layout.product_item,ProductViewHolder.class,
        mDatabase.child("clothes")) {
    @Override
    protected void populateViewHolder(ProductViewHolder viewHolder, Product model, int position) {
        mProgressBar.setVisibility(ProgressBar.INVISIBLE);
        viewHolder.name.setText(model.name);
        viewHolder.price.setText(model.price);
        Glide.with(getActivity()).load(model.imageUri).into(viewHolder.thumbnail);
        Log.d("NAME", model.name);
    }
};

recyclerView.setAdapter(myAdapter);
Run Code Online (Sandbox Code Playgroud)

问题是,ProgressBar在第一次启动时保持移动,它永远不会隐藏,RecyclerView从不显示自己,但如果我退出应用程序并再次启动,RecyclerView则正确填充,即使屏幕锁定本身并且我解锁它,RecyclerView也会填充.我糊涂了.

java android android-recyclerview firebase-realtime-database firebaseui

2
推荐指数
1
解决办法
1093
查看次数

在Firebase用户界面中设置徽标大小

无论如何都要在Firebase UI中设置徽标的大小,以便它不会完全填满视图?

AuthUI.getInstance().createSignInIntentBuilder()
                    .setProviders(Arrays.asList(
                        new AuthUI.IdpConfig.Builder(AuthUI.GOOGLE_PROVIDER).build(),
                        new AuthUI.IdpConfig.Builder(AuthUI.EMAIL_PROVIDER).build()
                    ))
                    .setIsSmartLockEnabled(!BuildConfig.DEBUG)
                    .setTheme(R.style.AppTheme_NoActionBar)
                    .setLogo(R.mipmap.icon_hero_image)
                    .build(),
            RC_SIGN_IN
Run Code Online (Sandbox Code Playgroud)

android android-layout firebase firebase-authentication firebaseui

2
推荐指数
1
解决办法
1505
查看次数

如何在 Kotlin 中使用 Firebase UI 数据库

val adapter = FirebaseRecyclerAdapter<Discount, Holder>(
                Discount::class.java,
                R.layout.fragment_main_day_item,
                Holder::class.java,
                FirebaseDatabase.getInstance().getReference()
        ) {
            override fun populateViewHolder(holder: Holder, dis: Discount, pos: Int){

            }
        }
Run Code Online (Sandbox Code Playgroud)

文档在这里

我如何使用 Kotlin 处理这个问题

编辑

val mAdapter = object : FirebaseRecyclerAdapter<Chat, ChatHolder>(
            Chat::class.java,
            R.layout.fragment_main_day_item,
            ChatHolder::class.java,
            ref) {
        public override fun populateViewHolder(holder: ChatHolder, chat: Chat, position: Int) {

        }
    }
Run Code Online (Sandbox Code Playgroud)

我将 java 转换为 kotlin 并且它有效。

android kotlin firebase android-recyclerview firebaseui

2
推荐指数
2
解决办法
4230
查看次数

使用 Firebase 电话身份验证未收到通知

我目前正在实现 firebase 电话身份验证,并且可以使用 firebase UI 成功实现电话身份验证而无需 swizzling,但从我的研究来看,似乎在不使用 swizzling 的情况下实现 firebase 电话身份验证需要用户允许通知。我知道 firebase 发送了一个不需要通过允许通知来批准的静默通知,但似乎获得该通知的唯一方法是要求用户允许通知。有谁知道如何或是否有可能在不混乱和不要求用户通知权限的情况下做到这一点?

我已添加将通知证书推送到 firebase,并添加了 firebase 电话 ui 文档中列出的所有需要​​的功能。

在不要求用户允许通知的情况下,电话身份验证文档中列出的此功能不会被调用(用户还必须选择允许)

func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
  // Pass device token to auth
  Auth.auth().setAPNSToken(deviceToken, type: AuthAPNSTokenTypeProd)

  // Further handling of the device token if needed by the app
  // ...
}
Run Code Online (Sandbox Code Playgroud)

如果未调用此函数,则未设置 setAPNSToken,我将不会收到继续进行电话身份验证的静默通知,并且会收到一般错误

身份验证错误:您项目的 Firebase 电话号码身份验证设置似乎有问题,请务必按照https://firebase.google.com/docs/auth/ios/phone-auth 上的说明进行操作

ios firebase swift firebase-authentication firebaseui

2
推荐指数
1
解决办法
1207
查看次数

如何在Firestore数据库中获取Android中的文档ID或名称以传递给另一个活动?

我正在使用FirestoreRecyclerAdapter.

我能够获得每个模型和文档属性.但我想获得文档ID.

我尝试使用model.Autosuggestions,但没有文档ID或名称

我有以下DealsHolder类.这是在Kotlin.然而,所有类的其余部分都在java中.

package com.guidoapps.firestorerecycleradaptersample


import com.google.firebase.firestore.IgnoreExtraProperties

@IgnoreExtraProperties
data class DealsResponse(var title:String? = null,
                var price:String? = null,
                var dealPrice:String? = null,
                var image:String? = null,
                var description: String? = null)
Run Code Online (Sandbox Code Playgroud)

我在onCreate()中初始化的以下函数

 private void getDealsList(){
        Query query = db.collection("deals").orderBy("dateTime", Query.Direction.DESCENDING);

        FirestoreRecyclerOptions<DealsResponse> response = new FirestoreRecyclerOptions.Builder<DealsResponse>()
                .setQuery(query, DealsResponse.class)
                .build();

        adapter = new FirestoreRecyclerAdapter<DealsResponse, MainActivity.DealsHolder>(response) {
            @Override
            public void onBindViewHolder(MainActivity.DealsHolder holder, int position, DealsResponse model) {
                progressBar.setVisibility(View.GONE);
                holder.textTitle.setText(model.getTitle());
                holder.textPrice.setText(model.getPrice());
                holder.textDesc.setText(model.getDescription());
                holder.textDealPrice.setText(model.getDealPrice());

                holder.textPrice.setPaintFlags(holder.textPrice.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);

                Glide.with(getApplicationContext())
                        .load(model.getImage())
                        .into(holder.imageView); …
Run Code Online (Sandbox Code Playgroud)

java android firebase firebaseui google-cloud-firestore

2
推荐指数
1
解决办法
6506
查看次数

如何设置addSnapshotListener并在RecyclerView Item中的populateViewHolder中删除?

我已经RecyclerViewFirebaseUI-Android库实现了。

RecyclerView一旦使用,我的实时数据就会发生变化FirebaseRecyclerAdapter

在Collection中,数据文档的字段类型为Boolean,Integer,Reference

想使用该参考获取数据populateViewHolderaddSnapshotListener

帮我!这是我的代码:

         FirebaseRecyclerAdapter<Conv, ConvViewHolder> firebaseConvAdapter = new FirebaseRecyclerAdapter<Conv, ConvViewHolder>(
            Conv.class,
            R.layout.users_single_layout,
            ConvViewHolder.class,
            conversationQuery
    ) {
        @Override
        protected void populateViewHolder(final ConvViewHolder convViewHolder, final Conv conv, int i) {

            final String list_user_id = getRef(i).getKey();

            final DocumentReference docRef = db.collection("cities").document(list_user_id);
            docRef.addSnapshotListener(new EventListener<DocumentSnapshot>() {
                @Override
                public void onEvent(@Nullable DocumentSnapshot snapshot,
                                    @Nullable FirebaseFirestoreException e) {
                    if (e != null) {
                        Log.w(TAG, "Listen failed.", e);
                        return;
                    }

                    if (snapshot != …
Run Code Online (Sandbox Code Playgroud)

java android firebase firebaseui google-cloud-firestore

2
推荐指数
1
解决办法
2456
查看次数

升级到FirebaseUI 3.0后无法使用FirebaseRecyclerOptions检索数据

我正在使用,FirebaseRecyclerOptions因为我升级到新的FirebaseUI 3.0版本,但现在我无法从数据库中检索任何内容.过去在旧FirebaseRecylcerAdapter方法中使用的代码相同.好像它甚至没有进入onBindViewHolder.

初始化

linearLayoutManager = new LinearLayoutManager(this);
        linearLayoutManager.setReverseLayout(true);
        linearLayoutManager.setStackFromEnd(true);
        recyclerView = findViewById(R.id.main_recycler);
        recyclerView.hasFixedSize();
        recyclerView.setLayoutManager(linearLayoutManager);    
queryDatbase = mDatabase.child("chatlist").child(cUser);
        queryDatbase.keepSynced(true);
Query query = queryDatbase.orderByChild("time");
        query.keepSynced(true);
Run Code Online (Sandbox Code Playgroud)

FirebaseRecyclerAdapter代码

firebaseoptions = new FirebaseRecyclerOptions.Builder<ConvModel>().setQuery(query,ConvModel.class).build();

    firebaseadapter = new FirebaseRecyclerAdapter<ConvModel, ChatlistHolder>(firebaseoptions) {
        @Override
        protected void onBindViewHolder(final ChatlistHolder holder, int position,final ConvModel model) {
            final String each_user_id = firebaseadapter.getRef(position).getKey();
            Toast.makeText(MainActivity.this, each_user_id, Toast.LENGTH_SHORT).show();
            //region SET EACH USER IMAGE and USERNAME
            assert each_user_id != null;
            mDatabase.child("users").child(each_user_id).addValueEventListener(new ValueEventListener() {
                @Override
                public void onDataChange(@NonNull DataSnapshot dataSnapshot) { …
Run Code Online (Sandbox Code Playgroud)

android firebase android-recyclerview firebase-realtime-database firebaseui

2
推荐指数
1
解决办法
357
查看次数