Создание списка задач с использованием firebase, запутанный, пытаясь понять логику, стоящую за ним, смотрите основную деятельность ниже. \ Создание списка задач с использованием firebase, запутанный, пытаясь понять логику, стоящую за ним, см. Основную деятельность ниже.список задач, использующий firebase, запутался, пытаясь понять логику, стоящую за ним, см. основные действия ниже
public class MainActivity extends AppCompatActivity {
List<ToDo> toDoList = new ArrayList<>();
FirebaseFirestore database;
//
RecyclerView listItem;
RecyclerView.LayoutManager layoutManager;
FloatingActionButton fab;
public MaterialEditText title,description;
public boolean isUpdate = false;
public String idUpdate = " ";
ListItemAdapter adapter;
SpotsDialog dialog;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
database = FirebaseFirestore.getInstance();
//i think the issue is here
listItem = (RecyclerView)findViewById(R.id.listTodo);
listItem.setHasFixedSize(true);
layoutManager = new LinearLayoutManager(this);
listItem.setLayoutManager(layoutManager);
@Override
public void onClick(View view) {
if(!isUpdate){
setData(title.getText().toString(), description.getText().toString());
}
else{
updateData(title.getText().toString(),description.getText().toString());
isUpdate = !isUpdate; //this resets it
}
}
});
}
@Override
public boolean onContextItemSelected(MenuItem item) {
if (item.getTitle().equals("DELETE"))
deleteItem(item.getOrder());
return super.onContextItemSelected(item);
}
private void loadData() {
dialog.show();
if (toDoList.size() > 0)
toDoList.clear();
database.collection("ToDoList")
.get()
.addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
//end of oncomplete section added
for (DocumentSnapshot doc:task.getResult())
{
ToDo todo = new ToDo(doc.getString("id"),
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Toast.makeText(MainActivity.this, ""+e.getMessage(), Toast.LENGTH_SHORT).show();
}
});
}
}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
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"
android:background="@color/white"
tools:context=".MainActivity">
<android.support.design.widget.AppBarLayout
android:id="@+id/app_bar_layout"
android:fitsSystemWindows="true"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:id="@+id/layout_info"
android:orientation="vertical"
android:padding="16dp"
android:background="#1190CB"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.rengwuxian.materialedittext.MaterialEditText
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="text"
android:text="Title"
android:textColorHint="@android:color/white"
android:textSize="30sp"
app:met_baseColor="@android:color/white"
app:met_floatingLabel="highlight"
app:met_primaryColor="@android:color/white"
app:met_singleLineEllipsis="true" />
<!--add more for card items -->
<com.rengwuxian.materialedittext.MaterialEditText
android:id="@+id/description"
android:text="Description"
android:textSize="20sp"
android:inputType="textMultiLine"
android:textColorHint="@android:color/white"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:met_baseColor="@android:color/white"
app:met_floatingLabel="highlight"
app:met_primaryColor="@android:color/white"
app:met_singleLineEllipsis="true"/>
</LinearLayout>
</android.support.design.widget.AppBarLayout>
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:src="@drawable/ic_add_black_24dp"
android:layout_marginRight="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:elevation="6dp"
app:pressedTranslationZ="12dp"
app:layout_anchor="@id/app_bar_layout"
app:layout_anchorGravity="bottom|right"
app:fabSize="normal"/>
</android.support.design.widget.CoordinatorLayout>