Android启动另一个Activity时无法执行语句解决办法之加载延迟

问题:有时候从一个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);
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值