背景:
如果您的mainactivity具有名为points的数据流,并且您希望通过按下按钮将其发送到secondactivity。
当你进入第二个活动时,你已经将数据点从mainactivity转移到了第二个活动的数据管名称点。
在第二个活动中,您添加了更多的点,然后突然点击按钮后退导航按钮,然后返回主要活动页面。
问题:
主要的问题是当你按下按钮后退导航时,我应该如何从第二次活动中恢复新的点数。
谢谢!
的信息:
*我是Android的新手。
答案 0 :(得分:0)
您可以使用:
SELECT MAP_DATA.PRODUCT_ID, MAP_DATA.PRODUCT NAME
FROM (
select PRODUCT_ID , PRODUCT_NAME
FROM TABLE_1
UNION
SELECT PRODUCT_ID , PRODUCT_NAME
FROM TABLE_2
) MAP_DATA
你怎么能找回它?你可以这样做:
1)创建一个POJO类:
@Override
public void onBackPressed() {
//write code here where you want to send data to another activity
}
2)然后在backPressed事件中你可以做这样的事情:
public class Info {
private string someData;
public static Info getInstance() {
if (info == null) {
info = new Info();
}
return info;
}
public String getsomeData() {
return someData;
}
public String setsomeData(String someData) {
this.someData = someData;
}
}
3)并且要将此数据用于所需的活动,您可以这样做:
Info.getInstance.setSomeData(yourData);
答案 1 :(得分:0)
您可以使用此步骤Fisrt Activity声明startActivityForResult而不是startActiviy
Intent askIntent = new Intent(FirstActivity.this, SecondActivity.class);
// Start SecondActivity with the request code
startActivityForResult(askIntent, 111);
OnActivityResult声明firstActivity
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
// check if the request code is same as what is passed here it is 1
if (requestCode == 111) {
// Make sure the request was successful
if (resultCode == RESULT_OK) {
final String result = data.getStringExtra(SecondActivity.Result_DATA);
// Use the data - in this case display it in a Toast.
Toast.makeText(this, "Result: " + result, Toast.LENGTH_LONG).show();
}
}
}
SecondActivity OnBackpress
Intent sendIntent = new Intent();
// Add the required data to be returned to the FirstActivity
sendIntent.putExtra(Result_DATA, "Anders Hejlsberg");
// Set the resultCode to Activity.RESULT_OK to
// indicate a success and attach the Intent
// which contains our result data
setResult(RESULT_OK, sendIntent);
// With finish() we close the SecondActivity to
// return to FirstActivity
finish();
答案 2 :(得分:0)
您可以覆盖onBackPress()
中的SecondActivity
,然后使用startActivityForResult()
启动它。在onBackPress()
中,您将数据发送回MainActivity
。
答案 3 :(得分:0)
1-定义变量
public static String str;
2- onBackPressed
@Override
public void onBackPressed() {
//your variables
}
答案 4 :(得分:0)
如果在您的情况下数据是主要要求,那么我不建议您在这里和那里传递数据。我建议您只需将MainActivity中的数据添加到SharedPreference并转到SecondActivity并再次从SharedPreference(您之前从MainActivity添加的)中检索数据,如果需要,您可以再次在SharedPreference中添加更多的点并返回到MainActivity,您可以再次从SharedPreference中检索数据。
此处数据将在SharedPreferenec的帮助下从SecondActivity更新。 通过使用SharedPreferenec,您不必担心将数据从一个Activity传递到另一个Activity,并且Application也不会承担负担。
答案 5 :(得分:0)