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

     2023-04-19     173

关键词:

【中文标题】如何从一个屏幕导航到另一个屏幕【英文标题】:How to navigate from one screen to another screen 【发布时间】:2010-11-09 06:41:03 【问题描述】:

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

【问题讨论】:

【参考方案1】:

最琐碎的情况(从活动中调用):

startActivity(new Intent(this, ActivityToLaunch.class));

更多详情:http://developer.android.com/guide/topics/fundamentals.html

【讨论】:

【参考方案2】:
OnClickListener onClickListener = new OnClickListener() 
    @Override
    public void onClick(View v) 
        startActivity(new Intent(action));
    
;

Button button = (Button) findViewById(id);
button.setOnClickListener(onClickListener);

【讨论】:

那是组件的id。【参考方案3】:
Button x.setOnClickListener(new View.OnClickListener() 
    public void onClick(View v) 
    
        Intent i = new Intent(y.this, Activity.class);
        startActivity(i);                   
    
);

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

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

【讨论】:

等等,这还能编译吗?【参考方案4】:
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));

    
);

【讨论】:

【参考方案5】:
public void onClick(View v) 

    Intent myintent = new Intent(currentclass.this, nextactivity.class);
    startActivity(myintent);                               

【讨论】:

【参考方案6】:

可以使用名为 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() 内的代码。

【讨论】:

【参考方案7】:
final Context cont = this;
Button btnClickABC =(Button)findViewById(R.id.btnClickABC);
btnClickABC.setOnClickListener(new View.OnClickListener() 

            @Override
            public void onClick(View v)                    
                startActivity(new Intent(cont, NextActivity.class));

            
        );

【讨论】:

【参考方案8】:

使用下面的代码..我希望这会对你有所帮助。

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 是您的 Button xml 中的 id。

【讨论】:

【参考方案9】:
startActivity(new Intent(this,newActivity.class));

【讨论】:

【参考方案10】:

从一项活动切换到另一项活动非常简单,但对于新活动来说却很棘手。 您的下一个班级必须在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);
    

【讨论】:

【参考方案11】:
Intent intentobj=new Intent(FromActivity.this,ToActivity.class);
startActivity(intentobj);

或者你可以简单地使用

startActivity(new Intent(FromActivity.this,ToActivity.class)); 

【讨论】:

【参考方案12】:

对于 Kotlin(如果您在活动中)

    buttonToClick.setOnClickListener     startActivity(this,YourDestinationActivity::class.java)
        

如果你在一个片段中

        buttonToClick.setOnClickListener
            startActivity(requireActivity, YourDestinationActivity::class.java)
        

【讨论】:

【参考方案13】:

您可以使用以下代码 sn-ps 导航到下一个屏幕:

科特林

startActivity(Intent(this, LoginActivity::class.java))

Java

startActivity(new Intent(this, LoginActivity.class))

这是一个参考:Android Developers - Starting another activity

【讨论】:

【参考方案14】:

在你的方法fun onCreate(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.*

【讨论】:

【参考方案15】:

试试这个代码:

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

【讨论】:

【参考方案16】:
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);
            
        );

【讨论】:

欢迎来到 Stack Overflow。请edit您的答案解释此代码的作用以及它如何改进这个 11 岁问题的许多现有答案,以便它对其他有类似问题的用户有用。在 Stack Overflow 上不鼓励仅使用代码的答案,因为它们没有解释它是如何解决问题的。【参考方案17】:

只需转到 XML 文件并在按钮 xml 中添加 Onclick = "opennewactivity"。

然后转到 java 代码并创建类 opennewactivity,您可以在 xml 代码的“opennewactivity”中将其设为我的 clciking alt+Enter。就这样写

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

如果你希望用户不再回到第一个活动,那么就写这个

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

【讨论】:

【参考方案18】:
 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);
    

【讨论】:

java示例代码_从一个屏幕导航到另一个屏幕

java示例代码_从一个屏幕导航到另一个屏幕 查看详情

如何将道具从一个屏幕传递到另一个屏幕并显示? [复制]

】如何将道具从一个屏幕传递到另一个屏幕并显示?[复制]【英文标题】:Howtopassapropsfromonescreentoanotheranddisplayit?[duplicate]【发布时间】:2019-06-1310:46:48【问题描述】:我必须在reactjs中将数据从一个屏幕传递到另一个屏幕。并在... 查看详情

如何在 FLutter 中使用 pushNamed 将数据从一个屏幕传递到另一个屏幕?

】如何在FLutter中使用pushNamed将数据从一个屏幕传递到另一个屏幕?【英文标题】:howtopassdatafromonescreentoanotherscreenwithpushNamedinFLutter?【发布时间】:2021-12-1500:36:37【问题描述】:我想使用pushNamed将文本框控制器的数据从一个屏幕... 查看详情

如何在我的 Xcode Swift 项目的不同导航堆栈中从一个视图控制器屏幕切换到另一个?

】如何在我的XcodeSwift项目的不同导航堆栈中从一个视图控制器屏幕切换到另一个?【英文标题】:HowcanIswitchfromoneviewcontrollerscreentoanotherindifferentnavigationstacksinmyXcodeSwiftproject?【发布时间】:2020-10-2211:29:14【问题描述】:我有一个... 查看详情

如何准备下一个屏幕才能反应原生导航?

...屏幕导航到另一个屏幕时,它会短暂显示一个白色屏幕。如何准备下一个屏幕,以便在我更改屏幕时显示预渲染屏幕,而不是白色屏幕?谢谢答案除非您尝试从Web服务或AsyncStorage中获取数据,否则导航到该屏幕时屏幕不应为白色... 查看详情

Flutter:从 StreamBuilder 构建器回调内部导航到另一个屏幕

】Flutter:从StreamBuilder构建器回调内部导航到另一个屏幕【英文标题】:Flutter:navigatetoanotherscreenfrominsideofStreamBuilderbuildercallback【发布时间】:2019-09-3016:11:54【问题描述】:我有一个初始屏幕和一个StreamBuilder,它发出一个包含身... 查看详情

从 JSON 获取的 OnTap ListTile,导航到另一个屏幕

】从JSON获取的OnTapListTile,导航到另一个屏幕【英文标题】:OnTapListTilefetchedfromJSON,navigatetoanotherscreen【发布时间】:2021-06-2315:29:32【问题描述】:我有一个带有过滤器的搜索/下拉栏,其中包含一些从json文件生成的ListTiles。我希... 查看详情

如何在reactor的reducer中分配axios操作后如何导航到另一个屏幕(代码片段)

...航到另一个屏幕以输入图钉。从动作中获得axios结果后,如何导航到另一个屏幕?types.jsexportconstVALIDATE_USER="VALIDATE_USER";exportconstVALIDATE_PIN="VALIDATE_PIN";ex 查看详情

计算在一个屏幕到另一个屏幕之间导航所需的时间

】计算在一个屏幕到另一个屏幕之间导航所需的时间【英文标题】:CalculatetimetakentoNavigatingbetweenoneScreentootherScreen【发布时间】:2017-11-0710:30:56【问题描述】:全部,在我的项目中,从一个屏幕导航到另一个屏幕时,我们遇到了... 查看详情

我想从一个屏幕导航到另一个屏幕,但我有 undefined is not an object(评估'this.props.navigation.navigate')

】我想从一个屏幕导航到另一个屏幕,但我有undefinedisnotanobject(评估\\\'this.props.navigation.navigate\\\')【英文标题】:IwanttonavigatefromonescreentoanotherscreenbutIamhavingundefinedisnotanobject(evaluating\'this.props.navigation.navigate\')我想从一个屏 查看详情

TypeError:未定义不是对象(评估“navigation.navigate”),无法从放置在屏幕上的组件导航到另一个屏幕

...avigation.navigate”),无法从放置在屏幕上的组件导航到另一个屏幕【英文标题】:TypeError:undefinedisnotanobject(evaluating\'navigation.navigate\'),cannotnavigatefromcomponentplacedonscreentoanotherscreen【发布时间】:2021-11-0923:03:13 查看详情

如何将json数据传递到另一个包含flutter底部选项卡导航的屏幕

】如何将json数据传递到另一个包含flutter底部选项卡导航的屏幕【英文标题】:Howtopassjsondatatoanotherscreenthatcontainsbottomtabnavigationinflutter【发布时间】:2020-04-0618:20:18【问题描述】:我是Flutter的新手,现在我有2个屏幕,它们是登... 查看详情

我们如何在 Flutter 中将数据从一个屏幕传输到另一个屏幕?

】我们如何在Flutter中将数据从一个屏幕传输到另一个屏幕?【英文标题】:Howdowetransferdatafromonescreentoanotherscreeninflutter?【发布时间】:2021-11-0814:03:09【问题描述】:@overrideWidgetbuild(BuildContextcontext)returnScaffold(appBar:AppBar(title:Text(\'... 查看详情

如何从标签栏视图控制器切换到另一个作为导航控制器子视图的视图

】如何从标签栏视图控制器切换到另一个作为导航控制器子视图的视图【英文标题】:Howtoseguefromtabbarviewcontrollertoanotherviewwhichisachildofanavigationcontroller【发布时间】:2020-04-0413:35:05【问题描述】:我布置了我的主屏幕(摘要屏幕... 查看详情

如何在颤动中将列表数据从一个屏幕传递到另一个屏幕(StatefulWidget)

】如何在颤动中将列表数据从一个屏幕传递到另一个屏幕(StatefulWidget)【英文标题】:HowtopassListdataonescreentoanother(StatefulWidget)influtter【发布时间】:2021-11-0714:00:01【问题描述】:我在一个屏幕中有卡片数据,我将卡片文本保存... 查看详情

想要使用片段从导航抽屉活动移动到另一个屏幕,以在所有屏幕上显示抽屉(代码片段)

...erflow和其他许多方法,但仍然没有成功。然后我必须从第一个片段移动到第二个片段,依此类推,直到需要导航抽屉。当我从我的活动移动到任何片段时,我想替换除抽屉之外的整个视图。每个片段都有自己的layout.xml,就像一... 查看详情

Flutter BLoC 模式 - 如何在流事件后导航到另一个屏幕?

】FlutterBLoC模式-如何在流事件后导航到另一个屏幕?【英文标题】:FlutterBLoCpattern-HowcanInavigatetoanotherscreenafterastreamevent?【发布时间】:2019-01-0503:57:01【问题描述】:我的问题是关于BLoCpattern使用的导航。在我的LoginScreen小部件中... 查看详情

react native expo项目中如何从一个屏幕转到另一个屏幕?

】reactnativeexpo项目中如何从一个屏幕转到另一个屏幕?【英文标题】:Howtogofromonescreentoanotherinreactnativeexpoproject?【发布时间】:2019-02-2217:03:46【问题描述】:我使用Reactnativeexpo创建了一个应用程序,其中有两个屏幕-启动和登录... 查看详情