我有一个用户在另一个活动中创建的警报列表视图。如何单击这些列表视图项并使用用户之前的更改转到特定活动?例如,用户在活动A的列表视图中选择项目2,此操作应该将用户发送到活动B,其中包含项目2的特定更改。它应该更改闹钟时间,比如说上午8:00以及他们在哪几天选择。
现在我正在使用COLUMN,TIME等将数据保存到数据库......
每次他们点击列表视图时,我是否需要转到数据库并获取他们之前为该特定警报选择的偏好设置,并手动对该警报活动进行更改以模仿之前的状态?或者有更简单的方法吗?
答案 0 :(得分:0)
如果您需要持久保存数据,则需要使用数据库,共享首选项或其他持久存储机制。
如果您只需要将选项传输到其他活动,则可以向用于启动第二个活动的意图添加额外数据。例如,在活动A:
protected void onListItemClick(ListView l, View v, int position, long id) {
Intent intent = new Intent(this, ActivityB.class);
intent.putExtra("choice", position);
startActivity(intent);
}
然后在活动B中:
protected void onCreate(Bundle savedInstanceState) {
Intent intent = getIntent();
int choice = intent.getIntExtra("choice");
. . .
}
当然,您可以将这些结合起来:在数据库中保留选择,并将选择作为意图中的额外数据发送(为了保存活动B,查找选择的麻烦)。