当我单击alertdialog中列出的项目时,我希望单击的项目与toast一起出现。但不管我做了什么,都没有发生。单击项目时不会发生任何操作。谢谢这是主文件。我正在从数据库获取数据。主活动类
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
List<NuriClass> nurList;
public void favori_listele_class (String getir_kategori){
SQLiteDatabase db = veritabanim.getReadableDatabase();
String[] getColumnName={"_id,kategori,bilmece,cevap,favori"};
String[] arananDegerler={"1",getir_kategori};
Cursor imlec=db.query("bilmecebulmaca_tablosu", getColumnName, "favori=? And kategori=?",arananDegerler , null, null, null);
//Cursor imlec=db.query("bilmecebulmaca_tablosu", getColumnName, "kategori=?",arananDegerler1 , null, null, null);
final ArrayList<Integer> favori_listesi_id = new ArrayList<Integer>();
final ArrayList<String> favori_listesi = new ArrayList<String>();
nurList = new ArrayList<>();
while(imlec.moveToNext()){
int dizi_id=imlec.getInt(imlec.getColumnIndex("_id"));
String dizi_bilmece=imlec.getString(imlec.getColumnIndex("bilmece"));
String dizi_cevap=imlec.getString(imlec.getColumnIndex("cevap"));
int dizi_favori=imlec.getInt(imlec.getColumnIndex("favori"));
String dizi_soru= dizi_bilmece+ " "+dizi_cevap+ " "+dizi_favori;
favori_listesi.add(dizi_soru);
favori_listesi_id.add(dizi_id);
nurList.add(new NuriClass(dizi_id, getir_kategori, dizi_bilmece, dizi_cevap,dizi_favori,R.mipmap.ic_launcher));
}
ListeGoster((ArrayList<NuriClass>) nurList);
我把最下面的叫做listegoster,上面是listegoster,我从这里的数据库中获取数据
private void ListeGoster(final ArrayList<NuriClass> ssss){
final AlertDialog.Builder alertDialog = new AlertDialog.Builder(MainActivity.this,R.style.AlertDialogCustom);
LayoutInflater inflater = getLayoutInflater();
final View convertView = inflater.inflate(R.layout.nuri_list, null);
alertDialog.setView(convertView);
alertDialog.setTitle("FAVORİLER");
alertDialog.setIcon(R.drawable.uygulama_8);
alertDialog.setCancelable(true); //Tıkladığında PENCERE KAPANSIN MI?
final ListView listViewNur = convertView.findViewById(R.id.listViewNuri);
final NuriAdaptor adapter = new NuriAdaptor(this, R.layout.nuri_modelim, ssss);
if (listViewNur != null) {
listViewNur.setAdapter(adapter);
}
alertDialog.setPositiveButton("KAPAT", null);
alertDialog.setPositiveButtonIcon(getResources().getDrawable(android.R.drawable.ic_delete, getTheme()));
listViewNur.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Toast.makeText(getApplicationContext(), "The program does not show this toast when clicking on items. it never gets to this point.", Toast.LENGTH_SHORT).show();
}
});
alertDialog.show();
nuriadaptor.java文件
public class NuriAdaptor extends ArrayAdapter<NuriClass>{
List<NuriClass> nuriList; //KisilerCLASS türü Listedeki liste değerleri
Context context;
int resource; //liste öğeleri için düzen kaynak dosyası, the layout resource file for the list items
//yapıcı değerleri başlatıyor, constructor initializing the values
public NuriAdaptor(Context context, int resource, List<NuriClass> nuriList) {
super(context, resource, nuriList);
this.context = context;
this.resource = resource;
this.nuriList = nuriList;
}
@NonNull
@Override
public View getView(final int position, @Nullable View convertView, @NonNull ViewGroup parent) {
LayoutInflater layoutInflater = LayoutInflater.from(context);
View view = layoutInflater.inflate(resource, null, false); //getting the view
ImageView imageView = view.findViewById(R.id.imageView);
TextView textKategori = view.findViewById(R.id.textViewKategori);
TextView textSoru = view.findViewById(R.id.textViewSoru);
FloatingActionButton favSil = view.findViewById(R.id.floating_sil_FAV);
NuriClass nuri = nuriList.get(position);
textKategori.setText(nuri.getKategori());
textSoru.setText(nuri.getSoru());
//öğeyi listeden kaldırmak için düğmeye bir tıklama dinleyicisi ekleme, adding a click listener to the button to remove item from the list
favSil.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//seçilen değeri listeden çıkarmak için bu yöntemi arayacağız, we will call this method to remove the selected value from the list
//yöntemde kaldırılacak pozisyonu geçiyoruz, we are passing the position which is to be removed in the method
removeKisiler(position);
}
});
//finally returning the view
return view;
}
//this method will remove the item from the list
private void removeKisiler(final int position) {
//Silme işlemini onaylamak için bir uyarı iletişim kutusu oluşturma, Creating an alert dialog to confirm the deletion
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle("Silmek istediğinizden EMİNMİSİNİZ?");
builder.setPositiveButton("EVET", new DialogInterface.OnClickListener() { //uyarıdaki yanıt olumluysa, if the response is positive in the alert
@Override
public void onClick(DialogInterface dialogInterface, int i) {
nuriList.remove(position); //öğeyi kaldırmak, removing the item
notifyDataSetChanged(); //listeyi yeniden yüklemek, reloading the list
}
});
//cevap olumsuz ise hiçbir şey yapılmıyor, if response is negative nothing is being done
builder.setNegativeButton("HAYIR", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
}
});
//uyarı iletişim kutusunu oluşturma ve görüntüleme, creating and displaying the alert dialog
AlertDialog alertDialog = builder.create();
alertDialog.show();
}
}
在此处输入图像描述
在此处输入图像描述
1条答案
按热度按时间t2a7ltrp1#
我从这里的数据库得到数据