【发布时间】:2020-09-06 15:05:34
【问题描述】:
我有KelimeleriGoster.class。 İts 持有添加到数据库的单词。这个类有recyclerview项。
我想在单击删除按钮时实时删除。我想自动刷新我的列表
KelimeleriGoster.class
package com.tcoding.kelimeezberletici;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.tcoding.kelimeezberletici.Adapter.KelimeleriGosterAdapter;
import com.tcoding.kelimeezberletici.KelimeEkle.KelimeEkle;
import com.tcoding.kelimeezberletici.Sınıflar.Kelimeler;
import com.tcoding.kelimeezberletici.Veritabani.Veritabani;
import com.tcoding.kelimeezberletici.Veritabani.VeritabaniDao;
import java.util.ArrayList;
public class KelimeleriGoster extends AppCompatActivity {
private RecyclerView rv;
private FloatingActionButton floatingActionButton;
private ArrayList<Kelimeler> kelimelerArrayList;
private KelimeleriGosterAdapter adapter;
private Veritabani vt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_kelimeleri_goster);
rv = findViewById(R.id.rv);
floatingActionButton = findViewById(R.id.floatingActionButton);
vt = new Veritabani(this);
rv.setHasFixedSize(true);
rv.setLayoutManager(new LinearLayoutManager(this));
kelimelerArrayList = new VeritabaniDao().kelimeleriGoster(vt);
adapter = new KelimeleriGosterAdapter(this,kelimelerArrayList);
rv.setAdapter(adapter);
adapter.notifyDataSetChanged();
floatingActionButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(KelimeleriGoster.this,KelimeEkle.class));
finish();
}
});
}
}
还有我的适配器。 İts 显示在 recyclerview 上的数据。当我单击删除按钮时,我想将我的单词列表刷新为实时状态。喜欢liveData
KelimeleriGosterAdapter.class
package com.tcoding.kelimeezberletici.Adapter;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.tcoding.kelimeezberletici.R;
import com.tcoding.kelimeezberletici.Sınıflar.Kelimeler;
import com.tcoding.kelimeezberletici.Veritabani.Veritabani;
import com.tcoding.kelimeezberletici.Veritabani.VeritabaniDao;
import org.w3c.dom.Text;
import java.util.ArrayList;
public class KelimeleriGosterAdapter extends RecyclerView.Adapter<KelimeleriGosterAdapter.KelimeViewHolder> {
private Context context;
private ArrayList<Kelimeler> kelimelerArrayList;
private Veritabani vt ;
public KelimeleriGosterAdapter(Context context, ArrayList<Kelimeler> kelimelerArrayList) {
this.context = context;
this.kelimelerArrayList = kelimelerArrayList;
}
@NonNull
@Override
public KelimeViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.cardviewdeneme,parent,false);
return new KelimeViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull KelimeViewHolder holder, int position) {
final Kelimeler k = kelimelerArrayList.get(position);
holder.textViewEng.setText(k.getIngilizce());
holder.textViewTr.setText(k.getTurkce());
holder.buttonSil.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
vt = new Veritabani(context);
//Sil dedigimizde ogrenilen kelimelere eklenecek o yuzden tanımlamalar yapılmalı
String ingilizce = k.getIngilizce();
String turkce = k.getTurkce();
new VeritabaniDao().bildigimKelimelereEkle(vt,ingilizce,turkce);//For the add another database
// Ekleme yapıldı idsi alınarak silme işlemi yapılmalı(Data Add)
String id = String.valueOf(k.getId());
//to delete data
new VeritabaniDao().sil(vt,id);
}
});
}
@Override
public int getItemCount() {
return kelimelerArrayList.size();
}
public class KelimeViewHolder extends RecyclerView.ViewHolder {
private TextView textViewEng,textViewTr;
private Button buttonSil;
public KelimeViewHolder(@NonNull View itemView) {
super(itemView);
textViewEng = itemView.findViewById(R.id.textViewEng);
textViewTr = itemView.findViewById(R.id.textViewTr);
buttonSil = itemView.findViewById(R.id.buttonSil);
}
}
}
我该怎么做
【问题讨论】:
标签: java android database android-studio android-recyclerview