Android之Intent

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android之Intent相关的知识,希望对你有一定的参考价值。

通过Intent类可以 实现页面之间的跳转。这点和AS / Egret , 以及html前端不一样,本篇讲解A界面跳转到B界面 ,并且A界面向B界面传递一个参数。

一 :界面设计
①, A (activity.main.xml)
重要控件:
1‘ (TextView)txt_infos : 用来获取用户需要发送的信息 , 值为XXXXXX
技术分享图片
2‘ (Button) btn_go_A : 跳转至B界面的按钮
如下图:
技术分享图片
②,B (activity_b2.xml)
②-1 :
1‘ 创建一个新的activity的方法 : 在layout文件夹上右击 -> new -> Activity -> Empty Activity(本次选择空模板)
如下图
技术分享图片
2’在弹出的创建面板中 , 注意Activity Name(类名),将后缀Activity保留。如下图:
技术分享图片
②-2 :重要控件
1‘ (TextView)txt_getInfo : 用来显示从A界面获取到的信息
二:界面代码
①,A界面代码

package com.example.kayer.aas;

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;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    private TextView txt_infos = null;
    private Button btn_go_A = null;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        this.init();
    }
    private void init(){
        this.txt_infos = (TextView)findViewById(R.id.txt_infos);
        this.btn_go_A = (Button)findViewById(R.id.btn_go_A);
        this.btn_go_A.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String $info = MainActivity.this.txt_infos.getText().toString().trim();
                if( $info.length() > 0 ){
                    Intent $goto = new Intent( MainActivity.this , B2Activity.class );
                    $goto.putExtra("info" , $info);
                    MainActivity.this.startActivity( $goto );
                }else{
                    Toast.makeText(MainActivity.this, "请输入信息", Toast.LENGTH_SHORT).show();
                }
            }
        });
    }
}

①,B界面代码

package com.example.kayer.aas;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;

public class B2Activity extends AppCompatActivity {
    private TextView txt_getInfo = null;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_b2);
        this.init();
    }

    private void init(){
        this.txt_getInfo = (TextView)findViewById( R.id.txt_getInfo );
        Intent $getA = getIntent();
        String $info = $getA.getStringExtra("info");
        this.txt_getInfo.setText( $info );
    }
}

以上是关于Android之Intent的主要内容,如果未能解决你的问题,请参考以下文章

Android问题集锦之八:调用其他程序中的activity和Permission Denial: starting Intent 错误解决办法

Android代码片段

Android开发常用代码片段

片段中的Android onActivityResult

android之android.intent.category.DEFAULT

Android - 片段的 onActivityResult() 中的 NPE