android自学 intent 页面跳转的两种方法

在Activity中 使用Intent进行页面跳转

第一种方法 是没有返回参数的 使用了button_first

第二种方法是有返回参数的 使用了按钮 button_second

代码如下

package com.example.admin.test0305_2;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

/**
 * Created by admin on 2016/3/6.
 */
public class Select extends Activity{
    private Button button1;
    private Button button2;
    private TextView textview;
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.select);
        button1= (Button) findViewById(R.id.button_first);
        button2= (Button) findViewById(R.id.button_secobd);
        textview= (TextView) findViewById(R.id.textView);
        button1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent=new Intent(Select.this,MainActivity.class);
                startActivity(intent);
            }
        });
        button2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent=new Intent(Select.this,MainActivity.class);
                startActivityForResult(intent,1);
            }
        });
    }
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if(requestCode==1&&resultCode==2){
            String content=data.getStringExtra("data");
            textview.setText(content);
        }
    }

}

第二个页面的代码如下

package com.example.admin.test0305_2;

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.view.Window;
import android.widget.Button;

public class MainActivity extends AppCompatActivity  {
    private Button button;
    private String content="你好第一个界面~~~~~";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_main);
        button= (Button) findViewById(R.id.button_two);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent data=new Intent();
                data.putExtra("data",content);
                setResult(2,data);
                finish();
            }
        });
    }



}
可以发现两种方式区别在于 一个是startActivity() 另一个是startActivityForResult()

第一种很简单

重点是第二种

记录一下

startActivityForResult(intent,1)中 第一个是传入需求 第二是记录一个需求码 这里是1 也就是后面方法

protected void onActivityResult(int requestCode, int resultCode, Intent data)
中的requestCode

这个方法可以直接重写


然后在第二个页面代码中 对其中的button_two 添加监听事件

因为没有其他的需求所以Intent()中没有内容

通过intent的 putExtra方法向 “data”中添加字符串 content

然后对intent data记录结果码 resultCode 2


在第一个界面代码方法中 对去需求码和结果码进行判断  

这样找到相应的data(intent类型)然后通过

String content=data.getStringExtra("data");
            textview.setText(content);
取出data中的字符串 然后写入textview中


虽然很很简单 但是我还是看了好久,真希望自己也能随随便便就是一大串代码写出来 唉 加油吧骚年~~~~~

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值