如何从一个屏幕导航到另一个屏幕

Kum*_*mar 36 java android android-activity

如何从一个"活动"屏幕导航到另一个"活动"屏幕?在第一个屏幕中我有一个按钮,如果我点击按钮它必须移动到另一个活动屏幕.

yan*_*nko 18

最微不足道的案例(从活动中调用):

startActivity(new Intent(this, ActivityToLaunch.class));
Run Code Online (Sandbox Code Playgroud)

更多详细信息:http://developer.android.com/guide/topics/fundamentals.html


Wil*_*ill 16

Button x.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) 
    {
        Intent i = new Intent(y.this, Activity.class);
        startActivity(i);                   
    }
});
Run Code Online (Sandbox Code Playgroud)

这里我们为Button x定义了一个监听器.操作系统将调用此方法并启动Intent i中引用的Activity.

这是官方教程示例:http: //developer.android.com/guide/tutorials/notepad/notepad-ex2.html

  • 等等,这甚至编译? (2认同)

Chi*_*han 14

OnClickListener onClickListener = new OnClickListener() {
    @Override
    public void onClick(View v) {
        startActivity(new Intent(action));
    }
};

Button button = (Button) findViewById(id);
button.setOnClickListener(onClickListener);
Run Code Online (Sandbox Code Playgroud)


G.S*_*wat 10

Button btn = (Button)findViewById(R.id.button1);

btn.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {      

        startActivity(new Intent(TestActivity.this,second.class));

    }
});
Run Code Online (Sandbox Code Playgroud)


小智 7

public void onClick(View v) 
{
    Intent myintent = new Intent(currentclass.this, nextactivity.class);
    startActivity(myintent);                               
}
Run Code Online (Sandbox Code Playgroud)


Nik*_*wal 5

可以使用名为 Intents 的 android 主要构建块之一和public void startActivity (Intent intent)属于您的 Activity 类的方法之一来完成此任务。

意图是要执行的操作的抽象描述。它可以与 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 移动到另一个 Activity,然后 -

  1. PresentActivity -- 这是您要从中进行第二个活动的当前活动。

  2. NextActivity -- 这是您要移动的下一个活动。

所以意图会是这样的

Intent(PresentActivity.this, NextActivity.class)
Run Code Online (Sandbox Code Playgroud)

最后这将是完整的代码

  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);
                }
            });
        }
    }
Run Code Online (Sandbox Code Playgroud)

这个例子与按钮点击有关,您可以在按钮点击内的OnClickListener()任何地方使用代码,在您想要在活动之间切换的任何地方。