Невозможно получить и показать данные из Firebase в андроид студии - PullRequest
0 голосов
/ 08 декабря 2018

У меня возникают проблемы при попытке получить данные из базы данных Firebase.Я хочу отобразить его в ListView.Когда я перехожу из Действия входа в систему (после успешного входа в систему) в Общее действие (в которое я помещаю ListView), ListView не отображается, и действие переключается из Общего в вход в систему через несколько секунд.

**Login Activity snippet**



protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_loginpage);

    userRegistration = (TextView)findViewById(R.id.tvRegister);
    LName = (EditText)findViewById(R.id.btnName);
    LPass = (EditText)findViewById(R.id.btnPass);
    LSignIn = (Button) findViewById(R.id.btnSignIn);
    Info = (TextView) findViewById(R.id.tvInfo);

     Info.setText( " No of attempts remaining: 3 " );

    firebaseAuth = FirebaseAuth.getInstance();
    progressDialog = new ProgressDialog(this);

    FirebaseUser user= null;

    if(user!=null){
       finish();
        startActivity(new Intent(LoginPage.this,General.class));
    }

     user = firebaseAuth.getCurrentUser();

    LSignIn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            validate(LName.getText().toString(),LPass.getText().toString());
        }
    });

    userRegistration.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            startActivity(new Intent(LoginPage.this,Registration.class));
        }
    });

**General Activity snippet**



      public class General extends AppCompatActivity {

        private FirebaseAuth firebaseAuth;
        private Button Logout;

        ListView l1;
        ArrayAdapter<String> adapter;
        DatabaseReference databaseReference;
        FirebaseUser user;
        List<String> itemlist;
        String uid;




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


            firebaseAuth = FirebaseAuth.getInstance();
            Logout = (Button) findViewById(R.id.btnLogout);

            l1 = (ListView)findViewById(R.id.listView);
            user = FirebaseAuth.getInstance().getCurrentUser();
            uid = user.getUid();
            itemlist = new ArrayList<>();

            databaseReference = FirebaseDatabase.getInstance().getReference();

            databaseReference.addValueEventListener(new ValueEventListener() {
                @Override
                public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                    itemlist.clear();;
                    String user_name = dataSnapshot.child(uid).child("usrName").getValue(String.class);
                    String user_email = dataSnapshot.child(uid).child("ursEmail").getValue(String.class);

                    itemlist.add(user_name);
                    itemlist.add(user_email);

                    adapter = new ArrayAdapter<>(General.this,android.R.layout.simple_list_item_1,itemlist);
                    l1.setAdapter(adapter);
                }

**Firebase Auth and Database**

[enter image description here][1]


[enter image description here][2]




**XML file with the ListView**

    <?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/myApp"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".General">

    <Button
        android:id="@+id/btnLogout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="8dp"
        android:layout_marginTop="8dp"
        android:layout_marginEnd="8dp"
        android:layout_marginBottom="8dp"
        android:text="LOGOUT"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.467"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/listView" />

    <ListView
        android:id="@+id/listView"
        android:layout_width="368dp"
        android:layout_height="270dp"
        android:layout_marginStart="8dp"
        android:layout_marginTop="8dp"
        android:layout_marginEnd="8dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</android.support.constraint.ConstraintLayout>

Дизайн

введите описание изображения здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...