在Android中从一个活动移动到下一个
我正在开发一个具有登录屏幕的android应用程序。现在我能够成功地从服务器接收响应。在成功回复之后,它应该带我到下一个活动或课程,我将展示一个新的屏幕/活动。我应该怎么做才能做到这一点。在Android中从一个活动移动到下一个
在Android中,您正在使用Intents从一个Activity更改为另一个。在这种情况下,您将使用明确的意图。在代码中,这将是这样的:
Intent goToNextActivity = new Intent(getApplicationContext(), YourNewClass.class);
startActivity(goToNextActivity);
一定要YourNewClass添加到表现为这样的另一项活动:
<activity android:name=".your.package.YourNewClass" />
有在Intent文档一探究竟。你也可以在文档中阅读关于application fundamentals的文档,它只是回答这个问题,但它会让你了解android最重要的概念。
此任务可以使用android的主要构建块之一命名为Intents,并且其中一个属于您的Activity类的方法public void startActivity (Intent intent)
完成。
意图是要执行的操作的抽象描述。它可以与startActivity一起使用以启动一个Activity,broadcastIntent将其发送给任何感兴趣的BroadcastReceiver组件,并使用startService(Intent)或bindService(Intent,ServiceConnection,int)与后台服务进行通信。
Intent提供了一种工具,用于在不同应用程序中的代码之间执行延迟的运行时绑定。其最重要的用途是开展活动,在活动中它可以被认为是活动之间的胶水。它基本上是一个被动数据结构,它包含要执行的操作的抽象描述。
请参考官方文档 - http://developer.android.com/reference/android/content/Intent.html
public void startActivity (Intent intent)
- 用来启动一个新的活动。
因此,假设你有两个Activity类和点击一个按钮的OnClickListener()
你从一个活动想移动到另一个则 -
PresentActivity - 这是你当前活动的要去第二次活动。
NextActivity - 这是您想要移动的下一个活动。
因此该意图会是这样
Intent(PresentActivity.this, NextActivity.class)
最后这将是完整的代码
public class PresentActivity extends Activity {
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.content_layout_id);
final Button button = (Button) findViewById(R.id.button_id);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Perform action on click
Intent activityChangeIntent = new Intent(PresentActivity.this, NextActivity.class);
// currentContext.startActivity(activityChangeIntent);
PresentActivity.this.startActivity(activityChangeIntent);
}
});
}
}
这exmple有关点击链接,你可以在任何地方这是使用代码写在里面的按钮点击的OnClickListener()
在你想要在你的活动之间切换的任何地方。
public void onClick(View arg0)
{
Intent intent = new Intent(context, App2Activity.class);
startActivity(intent);
}
谢谢!我应用了上面的代码和它的工作。我也会阅读文档。 – Niamathsa 2010-09-27 12:45:39
@Niamathsa如果我的答案解决了您的问题,您可以通过点击答案中留下的复选标记来接受答案,作为正确答案。 – Janusz 2010-09-27 12:54:21