安卓,在列表视图中选择后返回保存的数据



在安卓工作室中,我有一个名为ADD的活动,让用户输入他的名字和生日。 当用户单击"确定"按钮时,数据将保存到SQLDatabase,然后数据将显示在列表视图中的另一个活动中。 我想要的是:当用户处于列表视图活动中并单击此列表视图的任何项目时, 我想用保存的数据而不是默认数据将他带回 ADD 活动。
请问这里有人有解决方案吗?

尝试使用 startActivityForResult和活动结果按两个类 A&B 的示例

从 A 开始活动 B

Intent i = new Intent(this, B.class);
startActivityForResult(i, 1);

在活动 B 中,当您想要恢复数据时

Intent returnIntent = new Intent();
returnIntent.putExtra("result",result);
setResult(Activity.RESULT_OK,returnIntent);
finish();

如果您想返回没有数据

Intent returnIntent = new Intent();
setResult(Activity.RESULT_CANCELED, returnIntent);
finish();

在活动 A 中:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == 1) {
        if(resultCode == Activity.RESULT_OK){
            String result=data.getStringExtra("result");
        }
        if (resultCode == Activity.RESULT_CANCELED) {
            //Write your code if there's no result
        }
    }
}

您可以使用包含所需数据的 startActivity() with Intent 启动 ADD 活动,并在 ADD 活动onCreate()检查该 Intent 数据。如果意图数据为空,则表示用户在没有单击列表项的情况下启动了该活动,如果您获得意图数据,则可以提取您输入的值并使用这些值填充字段。

示例 = 第一种情况:

startActivity(new Intent(this, AddActivity.class));

第二种情况(当您单击列表项时(:

startActivity(new Intent(this, AddActivity.class).putExtra("name", "your_name").putExtra("d_o_b", <your_date_of_birth>));

然后使用getIntent()获取这些数据onCreate()

检查getIntent() 。如果它为 null,那么它是通常的流程,否则您可以使用 - 从中获取值 -

getIntent().getStringExtra("name")

并遵循相同的过程 dob 并使用这些值填充视图

最新更新