我需要你的帮助。我需要您关于Firestore删除文档的建议。我已经工作了2天,这个找到代码。但是每个人都从理论上讲过。作为最后的选择,我想在这里写。我如何获得头寸价值?我该如何删除Firestore上的文档?非常感谢您的答复...
GorevRecyclerAdapter.java
package com.example.oztekapp;
import android.content.Intent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import java.util.ArrayList;
public class GorevRecyclerAdapter extends RecyclerView.Adapter<GorevRecyclerAdapter.PostHolder> {
private ArrayList <String> adliyeList;
private ArrayList <String> gorevbaslikList;
private ArrayList <String> gorevkonuList;
private ArrayList <String> gorevsaatilist;
private ArrayList <String> gorevtarihiList;
private ArrayList <String> useremailList;
public GorevRecyclerAdapter(ArrayList<String> adliyeList, ArrayList<String> gorevbaslikList, ArrayList<String> gorevkonuList, ArrayList<String> gorevsaatilist, ArrayList<String> gorevtarihiList, ArrayList<String> useremailList) {
this.adliyeList = adliyeList;
this.gorevbaslikList = gorevbaslikList;
this.gorevkonuList = gorevkonuList;
this.gorevsaatilist = gorevsaatilist;
this.gorevtarihiList = gorevtarihiList;
this.useremailList = useremailList;
}
@NonNull
@Override
public PostHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
LayoutInflater layoutInflater = LayoutInflater.from(parent.getContext());
View view = layoutInflater.inflate(R.layout.recycler_row,parent,false);
return new PostHolder(view);
}
@Override
public void onBindViewHolder(@NonNull PostHolder holder, int position) {
holder.useremail.setText(useremailList.get(position));
holder.adliye.setText(adliyeList.get(position));
holder.gorevbaslik.setText(gorevbaslikList.get(position));
holder.gorevkonusu.setText(gorevkonuList.get(position));
holder.gorevtarihi.setText(gorevtarihiList.get(position));
holder.gorevsaati.setText(gorevsaatilist.get(position));
}
@Override
public int getItemCount() {
return useremailList.size();
}
class PostHolder extends RecyclerView.ViewHolder{
TextView adliye, gorevkonusu, gorevbaslik, gorevsaati, gorevtarihi, useremail;
public PostHolder(@NonNull final View itemView) {
super(itemView);
adliye = itemView.findViewById(R.id.adliyeTextView);
gorevbaslik = itemView.findViewById(R.id.gorevBaslikTextView);
gorevkonusu = itemView.findViewById(R.id.gorevKonuTextView);
gorevtarihi = itemView.findViewById(R.id.gorevTarihTextView);
gorevsaati = itemView.findViewById(R.id.gorevSaatTextView);
useremail = itemView.findViewById(R.id.userEmailTextView);
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent (itemView.getContext(), GorevDetayActivity.class);
intent.putExtra("gorevbaslik", gorevbaslikList.get(getAdapterPosition()));
intent.putExtra("gorevkonu", gorevkonuList.get(getAdapterPosition()));
intent.putExtra("gorevtarihi", gorevtarihiList.get(getAdapterPosition()));
intent.putExtra("gorevsaati", gorevsaatilist.get(getAdapterPosition()));
v.getContext().startActivity(intent);
}
});
}
}
public void deleteItem(int position){
getSnapshots().getSnapshot(position).getReference().delete();
notifyDataSetChanged();
}
}
和 GorevDetayActivity.java
package com.example.oztekapp;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.Toast;
import com.google.android.gms.tasks.OnFailureListener;
import com.google.android.gms.tasks.OnSuccessListener;
import com.google.firebase.firestore.FirebaseFirestore;
import com.google.firebase.storage.StorageReference;
import java.util.ArrayList;
public class GorevDetayActivity extends AppCompatActivity {
private EditText gorevbaslik,gorevkonu,gorevsaat,gorevtarih;
private Button guncelle;
private Spinner adliye;
private ArrayAdapter arrayAdapter;
private AlertDialog.Builder alertDialog;
private FirebaseFirestore firestore;
private ArrayList<String> adliyeList;
private ArrayList <String> gorevbaslikList;
private ArrayList <String> gorevkonuList;
private ArrayList <String> gorevsaatilist;
private ArrayList <String> gorevtarihiList;
private ArrayList <String> useremailList;
private GorevRecyclerAdapter gorevRecyclerAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_gorev_detay);
gorevbaslik = findViewById(R.id.detaygorevbaslik);
gorevkonu = findViewById(R.id.detaygorevkonusu);
gorevtarih = findViewById(R.id.detaytarih);
gorevsaat = findViewById(R.id.detaysaat);
adliye = findViewById(R.id.detayadliye);
firestore = FirebaseFirestore.getInstance();
gorevRecyclerAdapter = new GorevRecyclerAdapter(adliyeList,gorevbaslikList,gorevkonuList,gorevsaatilist,gorevtarihiList,useremailList);
Intent i = getIntent();
String gorevbasligi = i.getStringExtra("gorevbaslik");
String gorevkonusu = i.getStringExtra("gorevkonu");
String gorevtarihi = i.getStringExtra("gorevtarihi");
String gorevsaati = i.getStringExtra("gorevsaati");
gorevbaslik.setText(gorevbasligi);
gorevkonu.setText(gorevkonusu);
gorevtarih.setText(gorevtarihi);
gorevsaat.setText(gorevsaati);
arrayAdapter = ArrayAdapter.createFromResource(this,R.array.adliyeler,android.R.layout.simple_dropdown_item_1line);
arrayAdapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
adliye.setAdapter(arrayAdapter);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater menuInflater = getMenuInflater();
menuInflater.inflate(R.menu.menudetay,menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(@NonNull final MenuItem item) {
if (item.getItemId() == R.id.gorevsil)
{
alertDialog = new AlertDialog.Builder(GorevDetayActivity.this);
alertDialog.setTitle("Görev Sil");
alertDialog.setMessage("Görevi silmek istediğinize emin misiniz ?");
alertDialog.setPositiveButton("Evet", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
firestore.collection("Görevler").document().delete().addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
Intent intent = new Intent(GorevDetayActivity.this,MainActivity.class);
startActivity(intent);
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Toast.makeText(GorevDetayActivity.this, e.getLocalizedMessage().toString(), Toast.LENGTH_LONG).show();
}
});
}
}).setNegativeButton("Vazgeç", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
alertDialog.create().show();
}
return super.onOptionsItemSelected(item);
}
}