在Android中如何实现活动之间的切换

8

我正在开发一个Android应用程序,其中包含登录界面。目前,我能够成功地从服务器接收响应。在成功响应后,它应该带我进入下一个活动或类,在那里我显示一个新的屏幕/活动。为了实现这一点,我应该做什么?

3个回答

24

在 Android 中,您可以使用 Intent 切换 Activity。在这种情况下,您需要使用显式 Intent。在代码中,它会像这样:

Intent goToNextActivity = new Intent(getApplicationContext(), YourNewClass.class);
startActivity(goToNextActivity);

一定要将YourNewClass添加到清单文件中,作为另一个活动,像这样:

<activity android:name=".your.package.YourNewClass" />

仔细查看Intent的文档。您还可以阅读有关应用基础知识的文档,虽然这个问题的回答不太简单,但它将为您提供了解Android最重要概念的洞见。


谢谢!我已经应用了上述代码并且它正在运行。我也会阅读文档。 - Niamathsa
@Niamathsa 如果我的回答解决了你的问题,你可以通过点击答案左侧的勾选标记来接受它作为正确答案。 - Janusz

4

使用Android的主要构建块之一,即Intent和Activity类中的public void startActivity (Intent intent)方法,可以完成此任务。

Intent是要执行的操作的抽象描述。它可与startActivity一起使用,以启动Activity,broadcastIntent将其发送到任何感兴趣的BroadcastReceiver组件,并使用startService(Intent)或bindService(Intent,ServiceConnection,int)与后台Service通信。

Intent提供了在不同应用程序代码之间执行延迟运行时绑定的功能。它最重要的用途是在启动活动时,可以将其视为活动之间的粘合剂。它基本上是一个被动数据结构,保存要执行的操作的抽象描述。

请参阅官方文档 -- http://developer.android.com/reference/android/content/Intent.html

public void startActivity (Intent intent) -- 用于启动新的Activity。

假设您有两个Activity类,在按钮单击的OnClickListener()上,您想从一个Activity移动到另一个Activity,则--

  1. PresentActivity -- 这是您要前往第二个Activity的当前活动。

  2. 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()中的任何位置,在你想要在活动之间切换时使用它。


1
public void onClick(View arg0) 
{
       Intent intent = new Intent(context, App2Activity.class);
       startActivity(intent);
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接