Android:Crouton + Activities状态

时间:2014-08-08 10:04:02

标签: android android-activity crouton

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

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

做一些工作......

4)为主要活动创建意图 5)将信息放在额外的变化中 5)开放主要活动

在主要活动中,在onCreate中,我试图获得额外的更改。我尝试从onStart,onResume中获取额外的信息。但仍然是相同的..Crouton消息快速关闭,比需要更快。

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

很多!

2 个答案:

答案 0 :(得分:0)

您有两种选择:

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

2)您可以像在Extra with startActivity()中提到的那样发送它并传递意图: start activity

希望它有所帮助!

答案 1 :(得分: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");

            }

        }

    }

完成!