यह प्रश्न इसी तरह है - Android - Listview delete item and Refresh।सूचीदृश्य आइटम हटाएं और ताज़ा करें - एंड्रॉइड
मैं के साथ मेरी एडाप्टर ताज़ा नहीं कर सकते:
adapter.notifyDataSetChanged();
मैंने कोशिश की:
adapter.remove(adapter.getItem(pos));
लेकिन सफलता नहीं मिली, सिर्फ एक बार (अजीब ...)।
एक और जवाब है:
Call that Activity once again Using Intent
sombody मुझे इस के लिए सही कोड दे सकते हैं (या अनुकूलक/कर्सर के लिए)?
मैं सफलता के बिना कुछ घंटों तक कोशिश कर रहा हूं।
मेरा पूरा कोड:
protected void onCreate (Bundle SavedInstanceState) {
super.onCreate(SavedInstanceState);
setContentView(R.layout.personalmessageview);
headtitle= getIntent().getExtras().getString("head");
setTitle(headtitle);
personalresults = getIntent().getExtras().getStringArrayList("personalres");
personalresultswithtime = getIntent().getExtras().getStringArrayList("personalrestime");
// setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,personalresults));
ListView list = (ListView)findViewById(R.id.listview_personal);
// ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, personalresults);
list.setAdapter(adapter);
registerForContextMenu(list);
list.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
public boolean onItemLongClick(AdapterView<?> av, View v, int pos, long id) {
String time = personalresultswithtime.get(pos).toString();
Show_Alert_box(v.getContext(),"Please select action.",time,pos);
return true;
}
});
सार्वजनिक शून्य Show_Alert_box (संदर्भ संदर्भ, स्ट्रिंग संदेश, स्ट्रिंग समय, पूर्णांक स्थिति) अंतिम स्ट्रिंग टाइमस्टैम्प = समय;
final int pos = position;
final AlertDialog alertDialog = new AlertDialog.Builder(context).create();
alertDialog.setTitle(getString(R.string.app_name));
alertDialog.setButton("Delete", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
try
{
db = databaseHelper.getWritableDatabase();
db.delete("messages","timestamp" + "=?", new String[] { timestamp });
Log.d("DB"," delete! ");
ArrayAdapter<String> adapter = new ArrayAdapter<String>(PersonalMessageView.this, android.R.layout.simple_list_item_1, personalresults);
adapter.remove(adapter.getItem(pos)); //not working t all! why ?
list.notify();
list.invalidate();
personalresults.remove(pos);
personalresultswithtime.remove(pos);
adapter.notifyDataSetChanged();
db.close();
}
catch(Exception e)
{
}
} });
alertDialog.setButton2("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
alertDialog.dismiss();
} });
alertDialog.setMessage(message);
alertDialog.show();
}
निकालें आइटम का प्रयास करें और उसके बाद की तारीख –
chaged सेट आप अपने एडाप्टर के लिए उपयोग कर रहे हैं क्या सूचित? यानी एक ऐरे एडाप्टर या बेस एडाप्टर, या एक वर्ग जिसे आपने उनमें से एक से लिया है? –
iv'e कोड जोड़ा गया। कृपया इसे दोबारा जांचें। – Smoker09