Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import android.app.ProgressDialog;
- import android.content.Intent;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.ImageButton;
- import android.widget.Toast;
- import androidx.annotation.NonNull;
- import androidx.appcompat.app.AppCompatActivity;
- import androidx.recyclerview.widget.LinearLayoutManager;
- import androidx.recyclerview.widget.RecyclerView;
- import com.google.android.gms.tasks.OnCompleteListener;
- import com.google.android.gms.tasks.OnFailureListener;
- import com.google.android.gms.tasks.Task;
- import com.google.android.material.floatingactionbutton.FloatingActionButton;
- import com.google.firebase.FirebaseApp;
- import com.google.firebase.firestore.DocumentSnapshot;
- import com.google.firebase.firestore.FirebaseFirestore;
- import com.google.firebase.firestore.QuerySnapshot;
- import org.jetbrains.annotations.NotNull;
- import org.w3c.dom.Document;
- import java.lang.reflect.Array;
- import java.util.ArrayList;
- import java.util.List;
- public class ListActivity extends AppCompatActivity {
- List<Collection> collectionList = new ArrayList<>();
- private RecyclerView mRecyclerView;
- RecyclerView.LayoutManager layoutManager;
- ImageButton mAddBtn;
- FirebaseFirestore db;
- private CustomAdapter adapter;
- ProgressDialog pd;
- @Override
- protected void onCreate (Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_list);
- db = FirebaseFirestore.getInstance();
- mRecyclerView = findViewById(R.id.recycler_view);
- mAddBtn = findViewById(R.id.addBtn);
- // свойства просмотра recycler view
- mRecyclerView.setHasFixedSize(true);
- layoutManager = new LinearLayoutManager(this);
- mRecyclerView.setLayoutManager(layoutManager);
- adapter = new CustomAdapter(ListActivity.this, new ArrayList<>());
- mRecyclerView.setAdapter(adapter);
- pd = new ProgressDialog(this);
- showData();
- mAddBtn.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- startActivity(new Intent(ListActivity.this, Define.class));
- finish();
- }
- });
- }
- // показ recyclerView
- private void showData() {
- db.collection("Documents").get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
- @Override
- public void onComplete(@NonNull Task<QuerySnapshot> task) {
- if (pd != null && pd.isShowing()) {
- pd.dismiss(); }
- // в удачном случае здесь появяятся файлы. Но нельзя просто так взять и вывести данные 👌
- for (DocumentSnapshot doc: task.getResult()) {
- Collection collection = new Collection(doc.getString("id"),
- doc.getString("title"));
- // doc.getString() #todo description
- collectionList.add(collection);
- }
- // TODO переписать участок кода (чтобы создание не было привязано к готовому листу)
- // CustomAdapter adapter = nre CustomAdapter() recyclerView.setAdapter(adapter) см. Intellij
- adapter.putData(collectionList);
- adapter.notifyDataSetChanged();
- }
- }).addOnFailureListener(new OnFailureListener() {
- @Override
- public void onFailure(@NonNull @NotNull Exception e) {
- pd.dismiss();
- Toast.makeText(ListActivity.this, e.getMessage(), Toast.LENGTH_SHORT).show();
- }
- });
- }
Add Comment
Please, Sign In to add comment