【发布时间】:2010-09-27 11:51:07
【问题描述】:
我正在开发一个具有登录屏幕的 android 应用程序。现在我能够成功接收到来自服务器的响应。成功响应后,它应该带我进入下一个活动或课程,在那里我会显示一个新的屏幕/活动。我应该怎么做才能实现这一目标。
【问题讨论】:
标签: android
我正在开发一个具有登录屏幕的 android 应用程序。现在我能够成功接收到来自服务器的响应。成功响应后,它应该带我进入下一个活动或课程,在那里我会显示一个新的屏幕/活动。我应该怎么做才能实现这一目标。
【问题讨论】:
标签: android
在 Android 中,您使用 Intent 从一个 Activity 更改为另一个。在这种情况下,您将使用显式 Intent。在代码中是这样的:
Intent goToNextActivity = new Intent(getApplicationContext(), YourNewClass.class);
startActivity(goToNextActivity);
确保将 YourNewClass 作为另一个活动添加到清单中,如下所示:
<activity android:name=".your.package.YourNewClass" />
仔细查看Intent 的文档。您还可以在文档中阅读有关 application fundamentals 的文档,仅回答这个问题有点深奥,但它会让您深入了解 android 的最重要概念。
【讨论】:
可以使用名为 Intents 的 android 主要构建块之一和属于您的 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() 你想从一个 Activity 移动到另一个然后 --
PresentActivity -- 这是您当前的活动,您想从中进行第二个活动。
NextActivity -- 这是您要移动的下一个 Activity。
所以 Intent 会是这样的
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);
}
});
}
}
此示例与按钮单击有关,您可以在任何想要在活动之间切换的地方使用编写在按钮单击OnClickListener() 内的代码。
【讨论】:
public void onClick(View arg0)
{
Intent intent = new Intent(context, App2Activity.class);
startActivity(intent);
}
【讨论】: