问题:有时候从一个Activity启动另一个Activity,但新启动的Activity中一些代码语句无法执行,或相当于没起作用
解决办法:
首先要分析原因,这里要解决的问题是因为执行这些语句的前提条件没有满足,比如加载延迟,如:
在一个Activity中输入地址跳到另一个Activity中的地图界面,并显示搜索地址。
因为地图加载需要时间,如果是新建的一张地图的话,所以如果直接搜索并显示内容会不成功,地图都没有,在地图上找地址怎么可能找得到。
可以在加载地图后设置延迟,然后再搜索地址。
代码:
Activity_A
//启动搜索结果Activity
Intent intent = new Intent(SearchActivity.this,DemoActivity.class);
intent.putExtra("searchContent", searchContent);
startActivity(intent);
Activity_B
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
// 检查key,成功后加载地图
checkKey();
setContentView(R.layout.demo);
// 地图其他初始化操作
mapInit();
Intent intent = getIntent();
searchContent = intent.getStringExtra("searchContent");
//设置休眠1秒钟,等待地图加载完成
SystemClock.sleep(1000);
//searchAddress:地址搜索功能类
//searchContent:要搜索的地址
searchAddress.search(searchContent);
}