继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

android学习之_Intent

弑天下
关注TA
已关注
手记 141
粉丝 12
获赞 52

今天学习了Intent实现两个Activity之间的通信。现将学习过程做一记录,利于后期学习回顾。

1.认识Intent

Intent是Acitivity之间通信的载体。Activity支持的Intent操作方法如下:

public void startActivity(Intent intent)//启动一个Activity,并通过Intent传送数据

public void startActivityForResult(Intent intent,int requestCode)//启动并接收另一个Acitivity程序回传数据,当 requestCode大于0时才可以触发onActivityResult()

protected void onActivityResult(int requestCode,int resultCode,Intent data)//当需要接收Intent回传数据时覆写此方法对回传操作进行处理

Public void finish()//调用此方法会返回之前的Acitivity程序,并自动调用onActivityResult()方法。

2、程序部分

private class OnClickListenerImpl implements View.OnClickListener{//对Button控件的单击监控
    public void onClick(View view){
        Intent it=new Intent(Intent_MainActivity.this,Receive_java.class);//创建实例化Intent,其中包括两个Activity(Intent_MainActivity和Receive_java)
        it.putExtra("myinfo","jnsdfef");//附加信息,数据名为myinfo,数据内容为jnsdfef。
        Intent_MainActivity.this.startActivityForResult(it,1);//启动Intent
    }
}
protected void onActivityResult(int requestCode,int resultCode,Intent data){//覆写onActivityResult方法
    switch (resultCode){
        case RESULT_OK:
            msg.setText("返回的内容是:"+data.getStringExtra("retmsg"));
            break;
        case RESULT_CANCELED:
            msg.setText("操作取消.");
            break;
        default:
            break;
    }
}
Intent it=super.getIntent();//取得此程序的Intent信息。
String info=it.getStringExtra("myinfo");//取得设置的附加信息。
this.show.setText(info);
this.retbut.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Receive_java.this.getIntent().putExtra("retmsg","yuyanchuan");
        Receive_java.this.setResult(RESULT_OK, Receive_java.this.getIntent());
        Receive_java.this.finish();
    }

原文链接:http://www.apkbus.com/blog-709040-59962.html

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP