在 android 中离开当前 activity 后显示最后更新 activity
show last updated activity after leaving current activity in android
我正在使用 ArcGIS 的编辑工具 maps.First 我启动了我的 MainActivity,用户可以在 map.And 上绘制一些绘图,而另一幅绘图想从 [=40] 中的列表菜单中执行=] 设计导航抽屉,有一个名为文件 browser.Here 的项目,单击该项目后,它会转到另一个名为文件 browser.after 的 activity 从那里选择相关文件 我想用编辑过的图纸启动 MainActivity .
在我的 MainActivity 中;
public void onNavigationDrawerItemSelected(int position) {
switch (position) {
case 1: {
Intent intent = new Intent(MainActivity.this, filechooser.class);
startActivity(intent);
break;
}
default:
break;
}
}
在文件选择器中activity;
//Here selecting relevent file for the drawings.Really here selecting file which contains relevent coordinates for drawings on the map and pass the file path to MainActivity.Map is on the MainActivity.This activity contains only a file browser.
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
Option o = adapter.getItem(position);
if (o.getdata().equalsIgnoreCase("folder") || o.getdata().equalsIgnoreCase("Parent Directory")) {
direction = new File(o.getPath());
fill(direction);
} else {
filepath = o.getPath();
Intent intent2 = new Intent(filechooser.this, MainActivity.class);
//but here i want to go to MainActivity with previous drawings not just to want restart activity.
intent2.putExtra("path", filepath);
startActivity(intent2);
}
}
那我可以吗?如果是这样,请帮助 me.Sory 我的英语 :(
MainActivity
应该使用 startActivityForResult()
开始 FileChooser
。 FileChooser
然后创建一个 Intent
用于 return 数据到 MainActivity
。要将此数据传递回 MainActivity
,FileChooser
只需调用 setResult()
,然后调用 finish()
(而不是调用 startActivity()
)。这将关闭 FileChooser
并在 MainActivity
.
中调用 onActivityResult()
编辑添加代码示例
在MainActivity
中:
public void onNavigationDrawerItemSelected(int position) {
switch (position) {
case 1: {
Intent intent = new Intent(MainActivity.this, filechooser.class);
startActivityForResult(intent, 1);
break;
}
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 1) {
if (resultCode == RESULT_OK) {
// "data" is the Intent that filechooser sent back
// you can now do data.getStringExtra(...) or whatever to
// get the data
String filepath = data.getStringExtra("path");
} else {
// filechooser failed for whatever reason
}
}
}
在filechooser
中:
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
Option o = adapter.getItem(position);
if (o.getdata().equalsIgnoreCase("folder") || o.getdata().equalsIgnoreCase("Parent Directory")) {
direction = new File(o.getPath());
fill(direction);
} else {
filepath = o.getPath();
Intent intent2 = new Intent();
//but here i want to go to MainActivity with previous drawings not just to want restart activity.
// return filepath
intent2.putExtra("path", filepath);
setResult(RESULT_OK, intent2);
// close this activity return to MainActivity
finish();
}
}
我正在使用 ArcGIS 的编辑工具 maps.First 我启动了我的 MainActivity,用户可以在 map.And 上绘制一些绘图,而另一幅绘图想从 [=40] 中的列表菜单中执行=] 设计导航抽屉,有一个名为文件 browser.Here 的项目,单击该项目后,它会转到另一个名为文件 browser.after 的 activity 从那里选择相关文件 我想用编辑过的图纸启动 MainActivity . 在我的 MainActivity 中;
public void onNavigationDrawerItemSelected(int position) {
switch (position) {
case 1: {
Intent intent = new Intent(MainActivity.this, filechooser.class);
startActivity(intent);
break;
}
default:
break;
}
}
在文件选择器中activity;
//Here selecting relevent file for the drawings.Really here selecting file which contains relevent coordinates for drawings on the map and pass the file path to MainActivity.Map is on the MainActivity.This activity contains only a file browser.
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
Option o = adapter.getItem(position);
if (o.getdata().equalsIgnoreCase("folder") || o.getdata().equalsIgnoreCase("Parent Directory")) {
direction = new File(o.getPath());
fill(direction);
} else {
filepath = o.getPath();
Intent intent2 = new Intent(filechooser.this, MainActivity.class);
//but here i want to go to MainActivity with previous drawings not just to want restart activity.
intent2.putExtra("path", filepath);
startActivity(intent2);
}
}
那我可以吗?如果是这样,请帮助 me.Sory 我的英语 :(
MainActivity
应该使用 startActivityForResult()
开始 FileChooser
。 FileChooser
然后创建一个 Intent
用于 return 数据到 MainActivity
。要将此数据传递回 MainActivity
,FileChooser
只需调用 setResult()
,然后调用 finish()
(而不是调用 startActivity()
)。这将关闭 FileChooser
并在 MainActivity
.
onActivityResult()
编辑添加代码示例
在MainActivity
中:
public void onNavigationDrawerItemSelected(int position) {
switch (position) {
case 1: {
Intent intent = new Intent(MainActivity.this, filechooser.class);
startActivityForResult(intent, 1);
break;
}
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 1) {
if (resultCode == RESULT_OK) {
// "data" is the Intent that filechooser sent back
// you can now do data.getStringExtra(...) or whatever to
// get the data
String filepath = data.getStringExtra("path");
} else {
// filechooser failed for whatever reason
}
}
}
在filechooser
中:
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
Option o = adapter.getItem(position);
if (o.getdata().equalsIgnoreCase("folder") || o.getdata().equalsIgnoreCase("Parent Directory")) {
direction = new File(o.getPath());
fill(direction);
} else {
filepath = o.getPath();
Intent intent2 = new Intent();
//but here i want to go to MainActivity with previous drawings not just to want restart activity.
// return filepath
intent2.putExtra("path", filepath);
setResult(RESULT_OK, intent2);
// close this activity return to MainActivity
finish();
}
}