Сбой интерфейса RecycleView - PullRequest
0 голосов
/ 08 ноября 2018

Я делаю свой проект, который мне нужен для извлечения данных из FIREBASE, когда значение ссылки / дочернего элемента изменяется в RecycleView и CardView. В моем коде нет ошибок, но когда я пытаюсь войти в этот интерфейс, происходит сбой. Я приложу свою кодировку ниже, если все знают, в чем проблема, пожалуйста, скажите мне. Большое спасибо.

MainAlarm.java

package com.example.xh3al3r.myapplication2;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;

import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;



import java.util.ArrayList;


public class MainAlarm extends AppCompatActivity {
    private RecyclerView recyclerView;

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main_alarm);
       recyclerView=(RecyclerView)findViewById(R.id.recycler_view);
        recyclerView.setHasFixedSize(true);
        recyclerView.setLayoutManager(new LinearLayoutManager(this));
        new GetDataFromFirebase().executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);

        // Read from the database
        FirebaseDatabase database = FirebaseDatabase.getInstance();
        DatabaseReference myRef = database.getReference("Resort");

        myRef.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {

                for (DataSnapshot alert: dataSnapshot.getChildren()) {
                    System.out.println(alert.getValue());
                }
                // This method is called once with the initial value and again
                // whenever data at this location is updated.
                ArrayList<String> values = (ArrayList<String>) dataSnapshot.getValue();
                recyclerView.setAdapter(new RecyclerViewAdapter(values));
            }

            @Override
            public void onCancelled(DatabaseError error) {
                // Failed to read value
                System.out.println("Failed to read value." + error.toException());
            }
        });
    }

    private class GetDataFromFirebase extends AsyncTask<Void,Void,Boolean>{

        @Override
        protected void onPreExecute() {
            super.onPreExecute();
        }

        @Override
        protected Boolean doInBackground(Void... voids) {
            return false;
        }

        @Override
        protected void onPostExecute(Boolean aBoolean) {
            super.onPostExecute(aBoolean);
        }
    }
}

MainAlarm.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.RecyclerView 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:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainAlarm"
    android:id="@+id/recycler_view"
    android:background="@drawable/blue1"
    tools:layout_editor_absoluteY="25dp"
    >


</android.support.v7.widget.RecyclerView>

RecycleViewAdapter.java

package com.example.xh3al3r.myapplication2;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import java.util.ArrayList;

class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewAdapter.ViewHolder> {
    private ArrayList<String> values;
    RecyclerViewAdapter(ArrayList<String> values) {
        this.values = values;
    }

    @Override
    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        return new ViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.RecycleViewAdapter,parent,false));
    }

    @Override
    public void onBindViewHolder(ViewHolder holder, int position) {
        holder.name.setText(values.get(position));
    }

    @Override
    public int getItemCount() {
        return values.size();
    }

    class ViewHolder extends RecyclerView.ViewHolder {
        private TextView name;
        ViewHolder(View itemView) {
            super(itemView);
            name = (TextView) itemView.findViewById(R.id.list_item_text);
        }
    }
}

RecycleViewAdapter.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:card_view="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/recycler_item"
    android:layout_margin="4dp"
    card_view:contentPadding="8dp"
    card_view:cardElevation="6dp"
    card_view:cardCornerRadius="4dp">

    <TextView
        android:gravity="center"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:id="@+id/list_item_text"
        android:minLines="4"/>

</android.support.v7.widget.CardView>

Logcat

11-08 21:17:22.248 15287-15287/com.example.xh3al3r.myapplication2 W/zygote64: Skipping duplicate class check due to unrecognized classloader
11-08 21:17:22.252 15287-15287/com.example.xh3al3r.myapplication2 W/DynamiteModule: Local module descriptor class for com.google.firebase.auth not found.
11-08 21:17:22.261 15287-15287/com.example.xh3al3r.myapplication2 W/DynamiteModule: Local module descriptor class for com.google.firebase.auth not found.
11-08 21:17:22.276 15287-15305/com.example.xh3al3r.myapplication2 W/DynamiteModule: Local module descriptor class for com.google.firebase.auth not found.
11-08 21:17:22.390 15287-15287/com.example.xh3al3r.myapplication2 E/MemoryLeakMonitorManager: MemoryLeakMonitor.jar is not exist!
11-08 21:17:22.394 15287-15287/com.example.xh3al3r.myapplication2 E/Minikin: Could not get cmap table size!
11-08 21:17:22.557 15287-15287/com.example.xh3al3r.myapplication2 W/Utils: Utils_isSuperResolutionSupport [load libai_client.so failed]
11-08 21:17:22.921 15287-15311/com.example.xh3al3r.myapplication2 E/vndksupport: Could not load vendor/lib64/egl/libGLES_mali.so from sphal namespace: dlopen failed: library "vendor/lib64/egl/libGLES_mali.so" not found.
11-08 21:17:23.033 15287-15287/com.example.xh3al3r.myapplication2 W/InputMethodManager: startInputReason = 1
11-08 21:17:23.044 15287-15287/com.example.xh3al3r.myapplication2 W/InputMethodManager: startInputOrWindowGainedFocus failed. Window focus may have already been lost. win=android.view.ViewRootImpl$W@2c5dbf8 view=android.support.v7.widget.AppCompatEditText{1ec1b0c VFED..CL. .F....ID 110,554-610,645 #7f08004a app:id/email},focus=true,windowFocus=true,window=android.view.ViewRootImpl$W@2c5dbf8,temporaryDetach=false
11-08 21:17:23.139 15287-15287/com.example.xh3al3r.myapplication2 W/zygote64: Skipping duplicate class check due to unrecognized classloader
11-08 21:17:24.529 15287-15287/com.example.xh3al3r.myapplication2 W/InputMethodManager: startInputReason = 1
11-08 21:17:24.575 15287-15287/com.example.xh3al3r.myapplication2 W/InputMethodManager: startInputReason = 5
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...