Android 2活动并传递数据

时间:2014-10-25 10:46:15

标签: android android-activity oncreate onstart

我的app app有问题。我是新手,我正在学习。我有2个活动,首先调用第二个活动,在此活动中我添加字符串,我想在第一个活动中看到这个新字符串,我尝试使用此代码

protected void onStart() {
    Bundle bundle = getIntent().getExtras();
    paises.add(bundle.getString("Pais"));
    Log.i("pais", bundle.getString("Pais"));
    habitantes.add(bundle.getString("Habitantes"));

    super.onStart();
}

我尝试使用OnCreate,OnResume和我的应用程序关闭,任何人都可以帮助我吗?

在第二个活动中我把这段代码

Intent i = new Intent(this, MainActivity.class);
i.putExtra("Pais", pa);
i.putExtra("Habitantes", ha);
编辑:是一个简单的应用程序,在第一个活动中我有一个arrayList,我想在另一个活动中添加到这个arrayLista一个字符串,但是当我转向第一个活动时,arraylist不会更新:S

3 个答案:

答案 0 :(得分:1)

试试这个:

Intent i = new Intent(this, MainActivity.class);
Bundle args = new Bundle();
args.putString("Pais", pa);
args.putString("Habitantes", ha);
i.putExtras(args);

答案 1 :(得分:1)

你必须先致电super.onStart()

void onStart(Bundle savedState) {
   super.onStart(savedState);
   // your code here .....
}

onResumeonCreate

相同

答案 2 :(得分:0)

它有效,ty Alex和Bene,正确的形式是与你的混合^^

第一项活动onCreate

 if (getIntent().getExtras() != null){
        Bundle bundle = getIntent().getExtras();
        paises.add(bundle.getString("Pais"));
        habitantes.add(bundle.getString("Habitantes"));
    }

第二项活动

Intent i = new Intent(this, MainActivity.class);
Bundle args = new Bundle();
args.putString("Pais", pa);
args.putString("Habitantes", ha);
i.putExtras(args);
startActivity(i)