Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从一个屏幕导航到另一个屏幕_Java_Android_Android Activity - Fatal编程技术网

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

Java 如何从一个屏幕导航到另一个屏幕,java,android,android-activity,Java,Android,Android Activity,如何从一个活动屏幕导航到另一个活动屏幕?在第一个屏幕中,我有一个按钮,如果我单击该按钮,它必须移动到另一个活动屏幕。最简单的情况(从活动中调用): 详情如下: 这里我们为按钮x定义了一个监听器。操作系统将调用此方法并启动Intent i中引用的活动 以下是官方教程示例: 使用以下代码..我希望这将对您有所帮助 Button button = (Button)findViewById(R.id.xxx); button.setOnClickListener(new OnClickListener(

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

最简单的情况(从活动中调用):

详情如下:

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

以下是官方教程示例:

使用以下代码..我希望这将对您有所帮助

Button button = (Button)findViewById(R.id.xxx);
button.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
        Intent intent=new Intent(CurrentActivity.this,NextActivity.class);
        startActivity(intent);
    }
});

xxx是按钮xml中的id。

此任务可以使用android的一个名为Intents的主要构建块和属于活动类的方法
public void startActivity(Intent Intent)
完成

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));

    }
});
意图是对要执行的操作的抽象描述。它可以与startActivity一起使用以启动活动,broadcastIntent将其发送到任何感兴趣的BroadcastReceiver组件,以及startService(Intent)或bindService(Intent、ServiceConnection、int)与后台服务通信

Intent提供了一种工具,用于在不同应用程序中的代码之间执行后期运行时绑定。它最重要的用途是在启动活动时,可以将其视为活动之间的粘合剂。它基本上是一个被动数据结构,包含对要执行的操作的抽象描述

参考官方文件--

public void startActivity(意图)
——用于启动新活动

因此,假设您有两个活动类,在一个按钮上单击
OnClickListener()
您想从一个活动移动到另一个活动,然后--

  • 呈现活动——这是您当前的活动,您希望从中进行第二个活动

  • nextractivity——这是您要移动的下一个活动

  • 所以意图是这样的

    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);
                    }
                });
            }
        }
    

    此示例与button click相关。您可以在button click的
    OnClickListener()
    中编写的任何地方使用代码,在您想要在活动之间切换的任何地方使用代码。

    从一个活动切换到另一个活动非常简单,但对于新的活动来说很棘手。 您的下一个类必须在
    AndroidManifest.xml
    中定义。这是测试仪类:

    <activity
      android:name=".Tester"
      android:label="@string/title_activity_tester" >`enter code here`
    </activity>
    
    
    final Button button = (Button) findViewById(R.id.btnGo);// btnGo is id 
    button.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            Intent i = new Intent(CurrentClass.this, Tester.class);
            startActivity(i);
        }
    
    `在此处输入代码`
    最终按钮按钮=(按钮)findViewById(R.id.btnGo);//btnGo是id
    setOnClickListener(新视图.OnClickListener(){
    公共void onClick(视图v){
    意图i=新意图(CurrentClass.this,Tester.class);
    星触觉(i);
    }
    
    您可以使用以下代码片段导航到下一个屏幕:

    科特林

    爪哇


    这里有一个参考:

    在您的方法中
    创建乐趣(savedInstanceState:Bundle?
    添加这个

    your_btn_id.setOnClickListener{
    
                val intent = Intent(this, yourpagename::class.java)
                startActivity(intent)
            }
    
    到目前为止,如果不起作用,请检查是否添加了这两个文件

    import android.content.Intent
    import kotlinx.android.synthetic.main.activity_otp.*
    
    或者你可以简单地使用

    请尝试以下代码:

     Button my_btn;
     my_btn = findViewById(R.id.submit_btn);
     my_btn.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
             setContentView(R.layout.activity_2);
         }
     });
    

    只需转到XML文件并在按钮XML中添加Onclick=“opennewactivity”

    然后转到java代码并创建opennewactivity类,您可以将其设置为我的clciking alt+输入xml代码的“opennewactivity”

    Intent intent = new Intent(this, newacivity.class);
    startActivity(intent);
    
    若你们不想让用户再次回到第一个活动,那个就写下这个

    Intent intent = new Intent(this, newactivity.class);
    startActivity(intent);
    finish();
    

    这是组件的id。等等,这是否编译?欢迎使用堆栈溢出。请您的答案解释此代码的作用,以及它如何改进这个11年前的问题的许多现有答案,以便对其他有类似问题的用户有用。堆栈溢出时不鼓励使用仅代码的答案,因为它们不会明白它是如何解决问题的。
    <activity
      android:name=".Tester"
      android:label="@string/title_activity_tester" >`enter code here`
    </activity>
    
    
    final Button button = (Button) findViewById(R.id.btnGo);// btnGo is id 
    button.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            Intent i = new Intent(CurrentClass.this, Tester.class);
            startActivity(i);
        }
    
    startActivity(Intent(this, LoginActivity::class.java))
    
    startActivity(new Intent(this, LoginActivity.class))
    
    your_btn_id.setOnClickListener{
    
                val intent = Intent(this, yourpagename::class.java)
                startActivity(intent)
            }
    
    import android.content.Intent
    import kotlinx.android.synthetic.main.activity_otp.*
    
    Intent intentobj=new Intent(FromActivity.this,ToActivity.class);
    startActivity(intentobj);
    
    startActivity(new Intent(FromActivity.this,ToActivity.class)); 
    
     Button my_btn;
     my_btn = findViewById(R.id.submit_btn);
     my_btn.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
             setContentView(R.layout.activity_2);
         }
     });
    
    Button navigate;
    navigate = findViewById(R.id.button);
    navigate.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Toast.makeText(getApplicationContext(),"Navigate another Activity",Toast.LENGTH_LONG).show();
                    Intent intent = new Intent(MainActivity.this,MainActivity2.class);
                    startActivity(intent);
                }
            });
    
    Intent intent = new Intent(this, newacivity.class);
    startActivity(intent);
    
    Intent intent = new Intent(this, newactivity.class);
    startActivity(intent);
    finish();
    
     Cartoon_card.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) 
            
            {
                newActivity();
                
            }
        });
        
    }
    public void newActivity()
    {
        Intent selectClass= new Intent(getApplicationContext(), com.example.fyp.videoplayer.class);
        startActivity(selectClass);
        
    }