android– 从firebase数据库中获取数据时显示进度对话框

android– 从firebase数据库中获取数据时显示进度对话框,第1张

概述我希望活动必须在从Firebase数据库获取数据时显示进度对话框.它没有显示任何内容并且崩溃了.这是我的代码如下publicclassprofilemain扩展AppCompatActivity{privateFirebaseAuthmAuth;privateFirebaseAuth.AuthStateListenermAuthListener;privateProgressDialogp

我希望活动必须在从Firebase数据库获取数据时显示进度对话框.它没有显示任何内容并且崩溃了.这是我的代码如下

public class profilemain扩展AppCompatActivity {

private FirebaseAuth mAuth;private FirebaseAuth.AuthStateListener mAuthListener; private ProgressDialog progressDialog;DatabaseReference mref = FirebaseDatabase.getInstance().getReference("users");ListVIEw mListvIEw;ArrayList<String> arrayList=new ArrayList<>();ArrayAdapter<String> arrayAdapter;private BottomNavigationVIEw.OnNavigationItemSelectedListener  mOnNavigationItemSelectedListener        = new BottomNavigationVIEw.OnNavigationItemSelectedListener() {    @OverrIDe    public boolean onNavigationItemSelected(@NonNull MenuItem item) {        switch (item.getItemID()) {            case R.ID.navigation_home:progressDialog.show();                startActivity(new Intent(profilemain.this,profilemain.class));                return true;            case R.ID.navigation_dashboard:                Toast.makeText(profilemain.this,"hi hello",Toast.LENGTH_SHORT).show();                return true;            case R.ID.navigation_notifications:                Toast.makeText(profilemain.this,"hi hello",Toast.LENGTH_SHORT).show();                return true;            case R.ID.navigation_signout:                Toast.makeText(profilemain.this,"You have successfully Signed out",Toast.LENGTH_SHORT).show();                mAuth.signOut();                return true;        }        return false;    }};@OverrIDeprotected voID onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentVIEw(R.layout.activity_profilemain);   progressDialog.setMessage("loading");    progressDialog.setTitle("database is");    mListvIEw=(ListVIEw) findVIEwByID(R.ID.ListvIEw);    Firebase.setAndroIDContext(this);    DatabaseReference ref = FirebaseDatabase.getInstance()            .getReference("users");    //mref=new Firebase("https://stark-1dffd.firebaseio.com/users");    arrayAdapter=new ArrayAdapter<String>(this,androID.R.layout.simple_List_item_1,arrayList);    mListvIEw.setAdapter(arrayAdapter);    mref.addChildEventListener(new ChildEventListener() {        @OverrIDe        public voID onChildAdded(DataSnapshot dataSnapshot, String s) {            String value= dataSnapshot.getValue(String.class);            arrayList.add(value);            arrayAdapter.notifyDataSetChanged();            //            //        }        @OverrIDe        public voID onChildChanged(DataSnapshot dataSnapshot, String s) {        }        @OverrIDe        public voID onChildRemoved(DataSnapshot dataSnapshot) {        }        @OverrIDe        public voID onChildMoved(DataSnapshot dataSnapshot, String s) {        }        @OverrIDe        public voID onCancelled(DatabaseError databaseError) {        }    });    BottomNavigationVIEw navigation = (BottomNavigationVIEw) findVIEwByID(R.ID.navigation);    navigation.setonNavigationItemSelectedListener(mOnNavigationItemSelectedListener);    mAuth = FirebaseAuth.getInstance();    mAuthListener = new FirebaseAuth.AuthStateListener() {        @OverrIDe        public voID onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {            if (firebaseAuth.getCurrentUser()==null){                startActivity(new                        Intent(profilemain.this,MainActivity.class));            }        }    };}@OverrIDeprotected voID onStart() {    super.onStart();    mAuth.addAuthStateListener(mAuthListener);}      Process: com.food.sheenishere.stark, PID: 16408com.Google.firebase.database.DatabaseException: Failed to convert value of type java.util.HashMap to Stringat com.Google.androID.gms.internal.zg.zzb(UnkNown Source)at com.Google.androID.gms.internal.zg.zza(UnkNown Source)at com.Google.firebase.database.DataSnapshot.getValue(UnkNown Source)at com.food.sheenishere.stark.home.onChildAdded(home.java:49)at com.Google.androID.gms.internal.px.zza(UnkNown Source)at com.Google.androID.gms.internal.vj.zzHX(UnkNown Source)   at com.Google.androID.gms.internal.vp.run(UnkNown Source)at androID.os.Handler.handleCallback(Handler.java:751)at androID.os.Handler.dispatchMessage(Handler.java:95)at androID.os.Looper.loop(Looper.java:154)at androID.app.ActivityThread.main(ActivityThread.java:6119)at java.lang.reflect.Method.invoke(Native Method)   at 

com.androID.internal.os.ZygoteInit $MethodAndArgsCaller.run(ZygoteInit.java:886)

    at com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:776)07-15 20:49:51.645 16408-16435/com.food.sheenishere.stark W/DynamiteModule: Local module descriptor class for com.Google.firebase.auth not found.

解决方法:

您的代码中的问题是您正在尝试在从未初始化的ProgressDialog对象上使用show(),setMessage(“loading”)和setTitle(“database is”)方法.

为了解决您的问题,您需要使用以下代码:

ProgressDialog progressDialog = new ProgressDialog(this);

它肯定会解决你的问题.

总结

以上是内存溢出为你收集整理的android – 从firebase数据库中获取数据时显示进度对话框全部内容,希望文章能够帮你解决android – 从firebase数据库中获取数据时显示进度对话框所遇到的程序开发问题。

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

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

原文地址:https://54852.com/web/1119557.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存