zoukankan      html  css  js  c++  java
  • 008 Android activity实现多个界面的相互跳转(主要利用Intent)

    1.activity介绍

    一个activity就把他理解成一个页面

    activity永远是全屏的。

    2.新建activity流程

    如图所示在com.lucky.test06的目录下,右击new--->Activity--->Empty Activity,会出现如下,点击finish即可。

    3.页面跳转(利用Intent实现,页面跳转传值)

    Intent称为意图,是Android各大组件连接的桥梁

    案例:test06

    <1>页面1

    布局页面:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        tools:context=".MainActivity"
        android:gravity="center">
    
    
        <TextView
            android:id="@+id/tv_show1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="TextView" />
    
        <!--android:layout_marginTop="20dp" 设置button组件顶部距离上一个组件的距离为20dp-->
        <Button
            android:id="@+id/bt_link1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dp"
            android:text="link1" />
    </LinearLayout>

    后台代码:

    package com.lucky.test06;
    
    import android.app.Activity;
    import android.content.Intent;
    import android.support.annotation.Nullable;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.TextView;
    
    public class MainActivity extends AppCompatActivity {
        Button bt_link1;
        TextView tv_show1;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            bt_link1=findViewById(R.id.bt_link1);  //在XML文件中寻找组件
            tv_show1=findViewById(R.id.tv_show1);
    
            bt_link1.setOnClickListener(new View.OnClickListener() {  //绑定按钮点击事件
                @Override
                public void onClick(View v) {
                    Intent intent=new Intent(MainActivity.this,Main2Activity.class);//参数1为跳转页面,参数2为跳转目标页
                    intent.putExtra("001","雨后观山色");  //参数1为传输数据的代号,参数2为数据内容
                    startActivityForResult(intent,0x01);//参数1为intent,参数2为请求码
    
                }
            });
        }
    
        @Override
        protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {  // 接收另一个页面的返回的数据
            super.onActivityResult(requestCode, resultCode, data);
            if(requestCode==0x01&&resultCode==0x02){  //判断请求码和结果码是否正确
                int i=data.getIntExtra("002",0);
                tv_show1.setText(i+"");
            }
        }
    }

    <2>页面2

     页面布局:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:gravity="center"
        tools:context=".Main2Activity">
    
        <TextView
            android:id="@+id/tv_show2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="TextView" />
    
        <!--android:layout_marginTop="20dp" 设置button组件顶部距离上一个组件的距离为20dp-->
        <Button
            android:id="@+id/bt_link2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dp"
            android:text="link2" />
    </LinearLayout>

    后台代码:

    package com.lucky.test06;
    
    import android.content.Intent;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.TextView;
    
    public class Main2Activity extends AppCompatActivity {
        TextView tv_show2;
        Button bt_link2;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main2);
            tv_show2=findViewById(R.id.tv_show2);
            bt_link2=findViewById(R.id.bt_link2);
            final Intent intent=getIntent(); //接收所传送过来的数据
            String data=intent.getStringExtra("001");  //参数为页面1的字符的代号
            tv_show2.setText(data);
            bt_link2.setOnClickListener(new View.OnClickListener() {  //绑定按钮点击事件
                @Override
                public void onClick(View v) {
                    intent.putExtra("002",666); //参数1为数据代号,参数2为数据内容
                    setResult(0x02,intent);   //参数1为结果码
                    finish();//退出Main2Activity页面
                }
            });
        }
    }

    效果图:

  • 相关阅读:
    Android studio导入开源项目
    使用Kindeditor上传图片
    IOS实现自动循环滚动广告--ScrollView的优化和封装
    Android开发之Drag&Drop框架实现拖放手势
    IOS中的手势详解
    Android实现图片轮显效果——自定义ViewPager控件
    IOS欢迎界面Launch Screen动态加载广告
    tomcat 启动参数 Xms, Xmx, XX:MaxNewSize, XX:PermSize, -XX:MaxPermSize, Djava.awt.headless
    PHP提升echo, printf, print, file_put_contents等输出方法的效率
    WIN7下强制分第四个主分区的方法
  • 原文地址:https://www.cnblogs.com/luckyplj/p/10467248.html
Copyright © 2011-2022 走看看