android,在listview中选择后返回保存的数据

时间:2017-11-16 20:56:16

标签: android sql listview

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

2 个答案:

答案 0 :(得分:0)

尝试使用startActivityForResult 和onActivityResult 示例通过两个类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
        }
    }
}

答案 1 :(得分:0)

您可以使用包含所需数据的Intent startActivity()启动ADD活动,并在ADD活动的onCreate()中检查该意图数据。 如果intent数据为null,则表示用户在未单击列表项的情况下启动了该活动,如果获得了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>));

然后使用onCreate()

getIntent()中获取这些数据

检查getIntent()。如果它为null,那么它是通常的流量,你可以使用它来获取它的值 -

getIntent().getStringExtra("name")

并按照dob的相同步骤使用这些值

弹出您的视图