Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 每次打开时更新MainActivity中的值_Android_Eclipse_Android Activity_Oncreate - Fatal编程技术网

Android 每次打开时更新MainActivity中的值

Android 每次打开时更新MainActivity中的值,android,eclipse,android-activity,oncreate,Android,Eclipse,Android Activity,Oncreate,如何在每次打开MainActivity时调用它的onCreate 我想这样做: 我打开我的应用程序,这是我的主要活动,然后我打开ActivityB并保存一些数据。当我关闭ActivityB时,我返回到MainActivity,但我在MainActivity中的数据没有更新,因为没有调用onCreate 这样解决是否正确(这是可行的,但我知道这不是一个好方法): 转到活动B的按钮: public void ActivityB(View view){ Intent intent = new

如何在每次打开MainActivity时调用它的onCreate

我想这样做: 我打开我的应用程序,这是我的主要活动,然后我打开ActivityB并保存一些数据。当我关闭ActivityB时,我返回到MainActivity,但我在MainActivity中的数据没有更新,因为没有调用onCreate

这样解决是否正确(这是可行的,但我知道这不是一个好方法):

转到活动B的按钮:

 public void ActivityB(View view){
    Intent intent = new Intent(this, ActivityB.class);
    startActivity(intent);
    finish();
}
返回MainActivity的按钮:

public void Back(View view){
    finish();
    Intent intent = new Intent(this, MainActivity.class);
    startActivity(intent);
}
你应该研究一下:


基本上,除了“onCreate”之外,每个活动都有更多的事件,比如“onResume”,在这种情况下,当MainActivity回到前台时,应该调用“onResume”,您应该将代码放在前台。

使用
startActivityForResult

public void ActivityB(View view){
Intent intent = new Intent(this, ActivityB.class);
startActivityForResult(intent, 1);
}

然后打开活动结果

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent)
{
    super.onActivityResult(requestCode, resultCode, intent);

    String sp = intent.getStringExtra("sp");
}  
在活动B中

@Override
public void onBackPressed()
{
    Intent i = new Intent();
    i.putExtra("sp", value); // the change value of sp
    setResult(RESULT_OK);
}

假设您在主活动A中有一个文本视图,并且您正在使用

Textview myTextview =(Textview)findViewbyId(R.id.textview1);
myTextView.setText("Android");
您正在从活动A导航到活动B。当活动B完成时,将调用活动A的onResume()方法。因此,在onResume()中更新textview,如下所示


所以,当您返回屏幕时,无论您想更新什么视图,都可以使用该活动的onResume()方法进行更新。希望您能清楚地知道,

OnCreate
方法中您想做什么?改为在onResume()中执行。@Leandros-我正在从ActivityB中创建的数据库中读取数据。您需要更新什么样的数据,以及在onActivityResultI中执行什么操作?我需要通过从数据库表中读取来更新字符串。我正在这样做:SQLiteDbHelper db=newsqlitedbhelper(this);字符串sp=SQLiteDbHelper.getSP();创建一个更新字符串的函数,在onCreate中调用它并在onActivityResult中调用它。你能发布onCreate for MainActivity和onActivityResult以及你刚才创建的函数吗?它是一样的:SQLiteDbHelper db=新的SQLiteDbHelper(这个);字符串sp=SQLiteDbHelper.getSP();onActivityResult是:super.onActivityResult(请求代码、结果代码、意图);然后是我的功能对不起,我犯了一个错误,刚刚纠正了它,它现在正在工作!谢谢
onResume(){
myTextview.setText("Jelly Bean")};