活动
问题描述:
之间的互动,我开始一个活动,从使用意图的主要一个:活动
Intent i = new Intent(getApplicationContext(), InfoChiamata.class);
i.putExtra("codice_cliente", codice_cliente[tv_clicked_id]);
i.putExtra("descrizione_chiamata", descrizione_chiamata[tv_clicked_id]);
startActivity(i);
如何编辑从活动的主要活动UI开始白衣意图是什么? 我怎么知道我什么时候从第二次活动回到主要活动?我试图覆盖onResume和onStart方法,但应用程序甚至没有启动。我试图在调用应用程序崩溃时重写onRestart方法。
@Override
protected void onRestart() {
if(call_back == 1)
Toast.makeText(getApplicationContext(), "asd", Toast.LENGTH_LONG).show();
}
call_back变量在次要活动启动时设置为1。
感谢,马蒂亚
答
尝试startActivityForResult而不是它给你一个回调到您的第一项活动。除非绝对必要,否则也不要使用应用程序上下文,而是使用活动上下文。此外,当您从活动类调用某些方法并像onRestart或OnStop或onResume一样覆盖它们时,您必须先在方法内部执行super.onResume(),确保应用程序生命周期不被破坏。
答
尝试用
startActivityForResult(i, 1);
开始新的活动,则在您的主要活动,使用此代码来捕获当用户离开的第二个活动,并返回到第一个:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
//your request code will be 1 since you started the
//activity with result 1. Your result code will be detemined
//by if the activity ended properly.
}
答
这听起来像也许你想用startActivityForResult(Context,Intent)来调用你的第二个活动。当你这样做时,你的第二个活动可以给调用它的活动返回一个值,并且你可以决定从那里做什么。第二项活动完成后,您的第一项活动将收到回拨。这告诉你的第一个活动,第二个活动已经完成,并通过了第二个活动发生的结果。
它在这里的Android的文档解释:http://developer.android.com/reference/android/app/Activity.html#startActivityForResult(android.content.Intent,%20int)
谢谢,现在的作品!你是否也知道如何解决第一个问题?我在编辑他的视图的主要活动中创建了一个静态方法,即从辅助活动调用主要活动ui的sam ethat,但是当我从辅助活动调用i时,它会在辅助活动中显示一段视图已在主要活动中更新。为什么?谢谢! – pindol 2012-02-13 16:19:07
http://answers.oreilly.com/topic/2692-android-programming-understanding-the-activity-life-cycle/ – L7ColWinters 2012-02-13 17:30:03