我正在構建一個應用程序,我正在使用ListView
。目前,當用戶單擊ListView的一行時,會執行以下代碼。該代碼基本上刪除了與選定行相關的一些數據。該代碼是MainActivity.class的一個片段。根據來自Dialog的輸入修改MainActivity變量
//understanding this code is not crucial. list is the ListView, adapter is an
//ArrayAdapter object and displayDataMap is a Hashmap object.
list.setOnItemLongClickListener(new OnItemLongClickListener(){
@Override
public boolean onItemLongClick(AdapterView<?> arg0, View view, int position, long id) {
String key = adapter.getItem(position); //position of ListView row
String data = displayDataMap.get(key);
displayDataMap.remove(key);
//"aqlpzaml" is used as a regex.
String addressee = data.split("aqlpzaml")[1];
long time = Long.valueOf(data.split("aqlpzaml")[0]);
int finalID = Integer.valueOf(data.split("aqlpzaml")[3]);
String dateTime = sdf.format(time);
adapter.remove(addressee + " " + dateTime);
adapter.notifyDataSetChanged();
}
現在我想,刪除此數據之前,系統會提示用戶有Dialog
,在那裏,他被問他是否是一定要進行更改。
我知道如何創建Dialog
並顯示它。但我不知道如何根據Dialog
輸入觸發adapter
和displayDataMap
值的更改。我想如果我將使用另一個班級創建Dialog
對象(使用DialogFragment
),那麼我將無法訪問該對話框的setPositiveButton()
中的MainActivity
類的專用變量。
有什麼建議嗎?
謝謝。
是啊,請你能不能寫的代碼。 – Rajat 2013-04-04 20:17:12
如果您需要有關適配器的幫助,我需要更多的代碼。 – luxer 2013-04-04 20:30:10
工作。謝謝。 但我想知道是否有一種方法可以使用DialogFragment,因爲我的印象是Android javadocs說我們不應該直接使用Dialogs? – Rajat 2013-04-04 20:42:54