我在我的项目中使用Crouton。在应用程序中我没有什么活动。 在子活动中,我希望在完成一个过程之后执行一些操作,我将重定向到主要活动,并显示有关先前活动结果的Crouton消息。 但我有问题...... Crouton在重定向后很快关闭。我找到了一些解决方案:
1)为子活动创建意图 2)关闭主要活动 3)开始子活动
做一些工作......
4)为主要活动创建意图 5)将信息放在额外的变化中 5)开放主要活动
在主要活动中,在onCreate中,我试图获得额外的更改。我尝试从onStart,onResume中获取额外的信息。但仍然是相同的..Crouton消息快速关闭,比需要更快。
我做错了什么? 也许我的显示Crouton的算法是错误的。请纠正我。
很多!
答案 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");
}
}
}
完成!