0

我在我的项目中使用 Crouton。在应用程序中我的活动很少。在子活动中,我想在完成一个流程后执行一些操作,我重定向到主活动并显示有关先前活动结果的 Crouton 消息。但是我有问题......Crouton 在重定向后很快关闭。我找到了一些解决方案:

1)为子活动创建意图 2)关闭主要活动 3)启动子活动

做一些工作...

4) 为主要活动创建意图 5) 额外添加有关更改的信息 5) 打开主要活动

在主要活动中,在 onCreate 中,我尝试获取更多关于更改的信息。我尝试在 onStart、onResume 中从 extra 获取信息..但仍然相同..Crouton 消息关闭得很快,比需要的更快。

我做错了什么?也许我的显示克鲁顿的算法是错误的..请纠正我。

多谢!

4

2 回答 2

0

你有两个选择:

1)您可以使用 startActivityForResult() 打开第二个活动,然后在 MainActivity 中处理结果以显示面包块。在 Android 文档中,您可以找到一个很好的教程:Android 开发人员结束第二个活动后,您处理结果代码并显示正确的文本。

2) 您可以按照您在 Extra 中提到的使用 startActivity() 发送它并传入意图: 启动活动

希望能帮助到你!

于 2014-08-08T10:27:45.207 回答
0

我找到了我的问题的解决方案:

@Override
    protected void onResume() {
        super.onResume();

        Handler handler = new Handler();
        handler.postDelayed(new Runnable() {
            public void run() {
                displayEvents();
            }
        }, 500);

    }

private void displayEvents(){

        //Проверяю какое уведомление необходимо показать
        if(intent.hasExtra("event")){

            if(intent.hasExtra("event") && intent.getStringExtra("eventType").equals("confirm")) {

                Crouton.makeText(MainActivity.this, intent.getStringExtra("event"), Style.CONFIRM).show();
                getIntent().removeExtra("event");
                getIntent().removeExtra("eventType");

            }

        }

    }

完毕!

于 2014-08-08T13:27:03.913 回答