iT邦幫忙

2024 iThome 鐵人賽

DAY 4
0
Mobile Development

Android開發之旅:從Java到Kotlin,迎接Compose時代系列 第 4

Java實戰(二):建立待辦事項的新增、編輯與刪除功能

  • 分享至 

  • xImage
  •  

在本篇文章中,我們將探討如何在Android應用中使用Java語言實現待辦事項管理的核心功能:新增、編輯與刪除待辦事項。這些功能是待辦事項管理應用的基礎,通過結合Android的UI元件和Java後端邏輯,將會為用戶提供良好的互動體驗。

設計資料結構

首先,我們需要在Android專案中設計一個簡單的資料結構來代表待辦事項。可以在 models 資料夾中創建一個 TodoItem 類,該類包含標題、描述、創建時間和是否完成等屬性。

public class TodoItem {
    private String title;
    private String description;
    private boolean isCompleted;
    private Date createdAt;

    public TodoItem(String title, String description) {
        this.title = title;
        this.description = description;
        this.isCompleted = false;
        this.createdAt = new Date();
    }

    // Getters and Setters
}

新增待辦事項

在Android中,我們將使用EditText來讓用戶輸入待辦事項的標題和描述,然後通過按鈕觸發事件將該事項加入列表中。在 MainActivity 中創建一個 addTodo 方法來處理新增待辦事項的邏輯。

public void addTodo(String title, String description) {
    TodoItem newItem = new TodoItem(title, description);
    todoList.add(newItem);
    todoAdapter.notifyDataSetChanged(); // 通知RecyclerView資料已更新
}

此方法會創建一個新的 TodoItem,並將其添加到 todoList (通常是 ArrayList<TodoItem> 物件) 中,然後通過 RecyclerView.AdapternotifyDataSetChanged() 方法來更新UI。

編輯待辦事項

編輯功能允許用戶點選待辦事項來進行修改。通常我們可以在RecyclerView的項目上設置點擊事件,當用戶點擊待辦事項時,彈出一個對話框讓他們修改內容。下面是一個 editTodo 方法的範例:

public void editTodo(int position, String newTitle, String newDescription) {
    TodoItem item = todoList.get(position);
    item.setTitle(newTitle);
    item.setDescription(newDescription);
    todoAdapter.notifyItemChanged(position);
}

這裡,我們先取得要編輯的 TodoItem,然後更新它的標題和描述,並通知 RecyclerView.Adapter 來刷新該項目。

刪除待辦事項

刪除功能可以通過長按待辦事項項目來實現。當用戶長按某個項目時,彈出一個確認刪除的對話框,點擊確認後刪除該項目。下面是一個簡單的 deleteTodo 方法:

public void deleteTodo(int position) {
    todoList.remove(position);
    todoAdapter.notifyItemRemoved(position);
}

這段程式碼會從 todoList 中移除指定的待辦事項,並通過 notifyItemRemoved() 更新 RecyclerView

測試功能

完成這些功能後,可以在 MainActivity 中加入一些測試數據,並透過界面測試新增、編輯和刪除功能的行為。這裡是一個簡單的測試方法:

public void testTodoApp() {
    addTodo("Buy groceries", "Milk, Bread, Eggs");
    editTodo(0, "Buy groceries and snacks", "Milk, Bread, Eggs, Chips");
    deleteTodo(0);
}

結論

在這篇文章中,我們學習了如何使用Java語言在Android中實現待辦事項的新增、編輯和刪除功能。這些功能結合了RecyclerView來顯示和管理待辦事項,並通過Adapter來處理資料變更的即時更新。在接下來的文章中,我們將進一步探討待辦事項應用的分類、通知功能及資料庫整合等進階主題,讓應用變得更加實用與智能。


上一篇
Java實戰(一):使用Java構建待辦事項管理應用的基本架構
下一篇
Java實戰(三):實現待辦事項的分類與標籤系統
系列文
Android開發之旅:從Java到Kotlin,迎接Compose時代9
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言