我目前有一個鬧鐘應用程序,它將所有鬧鐘保存到一個數組中,然後將它們顯示在自定義列表視圖中。當點擊列表視圖時,應用程序會轉到單獨的屏幕來編輯鬧鐘。我現在想要將刪除功能添加到應用程序中。ListFragment onListItemClick多個功能
我目前的想法是在列表視圖上方有一個刪除和編輯按鈕,當用戶單擊其中一個按鈕時,列表視圖的功能也會相應改變。所以如果他們點擊編輯,那麼他們點擊的任何警報都會進入編輯屏幕。如果他們點擊刪除,他們點擊的警報將從數組中刪除。下面
代碼顯示OnListItemClick
方法(目前進入到編輯屏幕)和我OnClick
方法爲我的兩個按鈕:
@Override
public void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
//pass the alarm name as a string to the activity
String name = savedAlarmArray[position].getmName();
listItemCallback.onEditAlarmSelected(name);
}
@Override
public void onClick(View v) {
switch(v.getId()) {
case R.id.delete_button:
// Now the onListItemClick will delete the alarm;
break;
case R.id.edit_button:
// Now the onListItemClick will edit the alarm;
break;
}
}
只是好奇你的設計選擇。爲什麼不選擇用戶更可能理解的更加標準的選項?例如,向編輯頁面添加刪除按鈕,使用上下文操作欄提供刪除按鈕,或使用手勢允許用戶輕掃列表項以刪除警報。 –
你可以使用onItemLongClickListener來添加刪除選項 – zozelfelfo
我對Android來說很新穎,還沒有使用過動作條。我會閱讀它,並且很可能會根據這些答案來實施它。 – user3166589