Android入门篇(五)Activity跳转

发布时间:2019-08-06 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Android入门篇(五)Activity跳转脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

上一篇写了ActivITy的生命周期,这方面的知识在我们日常开发的时候经常会用到。同样的这篇也写一些基础的知识。

Activity间跳转

Button监听事件初探

Activity跳转配合Intent实现,在将跳转之前,先了解一下如何给Button设置监听事件。比较关键的就是给Button设置一个id,布局文件如下:

<?XMl version="1.0" encoding="utf-8"?>
<LinearLayout >"http://schemas.andROId.COM/apk/res/android"
    >"http://schemas.android.com/apk/res-auto"
    >"http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.isdust.zor.view_learn.activity.FirstActivity">

    <Button
        android:id="@+id/jump"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</LinearLayout>

在上面的布局中,给Button设定了一个id位jump,在activity代码中首先要获得这个控件。

@override
PRotected void onCreate(Bundle savedInstancestate) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_first);
     Button jump = findViewById(R.id.jump);
}

在onCreate方法中的setContentView就是将布局文件和Activity绑定在一块,获得控件的api就是findViewById。
获得到控件之后,需要做的就是设置监听事件,对应的api方法就是setOnClickListener。

 jump.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        
    }
});

Intent跳转介绍

到这里监听事件也设置完成了,那么就可以进行Intent跳转的学习了。Intent的跳转有两种实现方式:

  • 显示跳转:
    显示跳转中需要做的就是确定当前Activity的Context和需要跳转的Activity的class

    Intent intent = new Intent();
    intent.setClass(FirstActivity.this,SecondActivity.class)
    startActivity(intent);
  • 隐式跳转
    隐式跳转首先要给需要跳转的activity设定一个action,然后在Intent中传入这个action,那样就可以直接跳转到对应的Activity。
    首先设置action,这个就是在配置文件AndroidManifest.xML中配置

    <activity android:name=".activity.SecondActivity">
        <intent-filter>
            <action android:name="view_learn" />
            <category android:name="android.intent.category.DEFAULT"/>
        </intent-filter>
    </activity>

    这个地方主要是配置了两个intent-filter的子项目,一个action,一个category。配置好这个,就可以在activity中配置intent。

    Intent intent = new Intent();
    intent.setAction("view_learn");
    startActivity(intent);

    这样就可以完成跳转了。

完整代码

FirstActivity

public class FirstActivity extends Activity {

    private Button jump;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_first);
        jump = findViewById(R.id.jump);
        jump.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent = new Intent();
                intent.setAction("view_learn");
                startActivity(intent);
//                intent.setClass(FirstActivity.this,SecondActivity.class)
                startActivity(intent);
            }
        });
    }
}

SecondActivity


public class SecondActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);
    }
}

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest >"http://schemas.android.com/apk/res/android"
    package="com.isdust.zor.view_learn">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">

        </activity>
        <activity android:name=".activity.FirstActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>

        </activity>
        <activity android:name=".activity.SecondActivity">
            <intent-filter>
                <action android:name="view_learn" />
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
        </activity>
    </application>

</manifest>

到这里,跳转就介绍的差不多了,下一章就详细介绍一下Intent。

脚本宝典总结

以上是脚本宝典为你收集整理的Android入门篇(五)Activity跳转全部内容,希望文章能够帮你解决Android入门篇(五)Activity跳转所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。