如何使用一个日期选择设置多个通知?

时间:2016-07-17 00:43:37

标签: android database listview android-fragments notifications

我需要根据多个选择题列表同时设置多个通知。我将在后面找出单选按钮和if语句,现在我只是为了测试目的而随机设置日期。

如果用户选择jan 1st并单击按钮。它将在未来通过提醒进行活动来设置通知。它还保存此信息,以便用户可以根据需要编辑详细信息或更改一些选项。

这部分我已经编码了,它的工作正常。但是,它目前只设置一个通知。它是一个非常复杂的代码,包括数据库,接收器,片段等,它们都相互通信。

正如我所说,这部分我工作得很好,但我没有包括所有的代码,因为它是严重涉及的,没有人会试图打破它,如果我淹没你的代码海洋。如果有人要求,我当然可以发布特定的代码。

我的问题是,我需要它在按钮点击后的不同日期设置大量通知,而不仅仅是一个。我需要将通知消息更改为每个附加通知事件的预设变量字符串,但标题之类的内容将保持不变。

我当前的工作代码就是这样执行....

用户选择1月1日>用户点击按钮>设置为2月14日的通知,其中包含用户设置的唯一标题和消息,并保存以供将来编辑...

在设置通知的同时,它们会被保存,以便用户可以根据需要更改日期和一些选项。我只想保存一个标题和一个日期。我有保存功能已经工作,但我需要知道如何将其他提醒链接到现有保存的项目。我试图将所有数据链接起来,这样如果用户删除了保存的项目,那么该文件的所有设置通知都将被删除,而不仅仅是属于用户所选日期的通知。

=====这就是我要试图解决的问题

用户选择一些选项并点击一个按钮 [我已经开始工作]

点击所述按钮后,将来会设置以下通知:

[目前仅设置此通知] 1月1日通知: (标题)Day Master App (留言)新年快乐

[我试图弄清楚如何在上面的按钮点击时添加以下通知,并将此信息保存到同一项目下的现有数据库中]

2月14日通知 :( 标题)Day Master App - (消息)其V日

3月1日通知 :( 标题)Day Master App - (消息)春天临近

3月14日通知 :( 标题)Day Master App - (消息)可能正在下雨

(((我们只是假装我完成了清单......)))

我无法将未来通知设为静态号码,因为在设置未来通知时,由用户点击执行按钮之前的一系列单选按钮选项决定。这将是一个相当复杂和hacky if / else小说,我认为我必须这样做。我对么?

我有一个显示/编辑列表视图,显示您保存的通知以及用户设置的唯一名称和日期。这当前工作正常,但只根据用户输入设置一个通知。

我需要添加更多通知,但我不需要将它们保存在不同的项目或名称下。我希望它们都在同一个保存项下,因此单击按钮时设置的所有通知都可以作为一个组添加和删除。没有选项可以删除已设置的某些通知。这将是全部或全部。

我想我可以在现有的“保存通知”代码中添加更多变量吗?如同附加通知中的更多项目(如所有日期和消息)?我是否需要为我设置的每个未来通知编写一个新函数,以便能够将其删除? 我是否需要为每个设置的其他通知创建一个新数据库?单独的适配器?我很困惑......

===

我没有准确地查找代码示例,我想知道如何将其实现到现有代码中。我意识到可能有100种方法来编写我所描述的内容。我只需要解释过程。

请慢慢向我解释一下。我知道我正在过度思考这个。

我尽力解释这个问题,如果你需要澄清一些事情请问。谢谢。

1 个答案:

答案 0 :(得分:0)

我已经解决了我的问题,虽然我无法完成我原本想要的东西。

我设法通过简单地复制我用于显示单个通知的相同代码,只需为每个附加通知设置一个唯一ID,并创建一个新变量来为其提供单独的文本,只需单击一次即可设置多个通知。未来的日期,单独的时间等。这些变量可以通过编程方式轻松设置,也可以由用户在设置时轻松设置。

// On clicking the set notifications button
public void SetNotificationsButton(View v){
    ReminderDatabase rb = new ReminderDatabase(this);
// Creating Original Reminder
    int ID = rb.addReminder(new Reminder(mTitle, 
    mDate, mTime, mRepeat, mRepeatNo, mRepeatType, mActive));
// Create Feeding Notification
    int FeedingID = rb.addReminder(new Reminder("Have you fed the cat today?",
    mFeedingDate, mFeedingTime, mRepeat,  mRepeatNo, mRepeatType, mActive));
}
//
//   and just continued copy and pasting the rest of the notification events
//   changing the ID for each individual notification.  Without a unique ID  
//   the current notification will override the previous notification and
//   appear to only set the last reminder.

我无法通过选择单个列表项来删除所有通知,我可能已经通过将通知分组到单独的变量中来解决这个问题,但是一旦我意识到您在任何设置中最多只能设置50个通知给定的时间看起来有点矫枉过正。

由于我有某些通知的重复选项,我可以保留我的通知设置;数字较低并且在时间限制内远离50,同时仍然每天向用户发出提醒。

我找到了一个很好的例子来设置我用作参考的单个通知。 https://github.com/blanyal/Remindly

感谢那些花时间阅读我的问题的人。