Android 从活动2传递到活动1,然后再次反映从活动1到活动2的更改
我有两个活动,Android 从活动2传递到活动1,然后再次反映从活动1到活动2的更改,android,android-activity,android-listview,Android,Android Activity,Android Listview,我有两个活动,Activity1和Activity2 在活动1中,我有一个EdiText和ImageView。单击按钮时,活动2启动 在Activity2中,我有一个列表视图。它包含图像和文本视图 我已经在Activity1的imageview和EditText resp中显示了从Activity2的listview image和textview中检索到的数据。现在,我在Activity1中的EditText和imageview中做了一些更改,我需要再次将这些更改传递给Activity2中的li
Activity1
和Activity2
在活动1中,我有一个EdiText
和ImageView
。单击按钮时,活动2启动
在Activity2中,我有一个列表视图。它包含图像
和文本视图
我已经在Activity1的imageview和EditText resp中显示了从Activity2的listview image和textview中检索到的数据。现在,我在Activity1中的EditText和imageview中做了一些更改,我需要再次将这些更改传递给Activity2中的listview图像和文本
有人能帮我编写代码使之生效吗?在您当前的活动1中,创建一个意图
Intent i = new Intent(getApplicationContext(), Activity2.class);
i.putExtra(key, value);
startActivity(i);
然后在其他活动2中,检索这些值
Bundle extras = getIntent().getExtras();
if(extras !=null) {
String value = extras.getString(key);
}
在当前活动1中,创建意图
Intent i = new Intent(getApplicationContext(), Activity2.class);
i.putExtra(key, value);
startActivity(i);
然后在其他活动2中,检索这些值
Bundle extras = getIntent().getExtras();
if(extras !=null) {
String value = extras.getString(key);
}
更好的办法是使用startActivityForResult 它与此类似:
更好的办法是使用startActivityForResult 它与此类似:
从您的
FirstActivity
使用startActivityForResult()
方法调用SecondActivity
代码:
在SecondActivity
中,设置要返回到FirstActivity
的数据
例如:在SecondActivity
中,如果要发回数据,请在项目上设置一个onclicklistener并使用此代码:
Intent returnIntent=新Intent();
returnIntent.putExtra(“图像”,图像);
returnIntent.putExtra(“标题”,标题);
setResult(结果正常,返回意图)完成() 如果用户未选择任何列表项并按下
后退按钮
。
在main活动中
使用此代码
@Override
public void onBackPressed() {
Intent returnIntent = new Intent();
setResult(RESULT_CANCELED, returnIntent);
finish();
}
现在,在您的FirstActivity
类中,为onActivityResult
()方法编写以下代码
使用
startActivityForResult()
方法,从FirstActivity
调用SecondActivity
代码:
在SecondActivity
中,设置要返回到FirstActivity
的数据
例如:在SecondActivity
中,如果要发回数据,请在项目上设置一个onclicklistener并使用此代码:
Intent returnIntent=新Intent();
returnIntent.putExtra(“图像”,图像);
returnIntent.putExtra(“标题”,标题);
setResult(结果正常,返回意图)完成() 如果用户未选择任何列表项并按下
后退按钮
。
在main活动中
使用此代码
@Override
public void onBackPressed() {
Intent returnIntent = new Intent();
setResult(RESULT_CANCELED, returnIntent);
finish();
}
现在,在您的FirstActivity
类中,为onActivityResult
()方法编写以下代码
现在,你已经说明了你需要什么。请显示一些您一直在使用的相关代码。它可以帮助我们这些试图帮助你的人。现在,你已经说明了你需要什么。请显示一些您一直在使用的相关代码。它可以帮助我们这些试图帮助你的人。