Я делаю свой проект, который мне нужен для извлечения данных из 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