Intent 解析 对比上一篇加强理解PS:仅代码

原创 2016年08月28日 22:27:27

1 FActivity.java

package com.wmjintent.demo10;



import java.net.ContentHandler;


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


public class FActivity extends Activity{
private Button bt1;
private Button bt2;
private Context mContext ;
private TextView tv;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.factivity);
    //此方法作用,将factivity文件布局在JAVA文件中,方便进行运行
        mContext = this ;
        
    /* 使mContext 指向该环境下的对象this
    * 通过点击bt1实现页面之间的跳转
    * 1 startActivity的方式来实现
    *    初始化Intent
    * 初始化tv .
    * */
        tv=(TextView) findViewById(R.id.textView1);
    bt1=(Button)findViewById(R.id.button1);
    bt2=(Button)findViewById(R.id.button2);
    //注册点击事件,在点击事件里面实现页面跳转的意图,利用Intent方法
    bt1.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
/*
* 第一个参数packageContext代表上下文对象,如果直接用this,在匿名内部类里面是无法访问到FActivity的,
* 方法1   FActivity.this
* 方法2   建立全局变量mContext
* 第二个参数   目标文件
*/
Intent intent = new Intent(mContext,Secondactivity.class);
startActivity(intent);
// 通过第一种无返回值的Ietent 方法来实现页面之间的跳转

}
});
    /* 通过startActivityForResult方法,该方法需要关联两个方法
     * 一个是onActivityResult方法  ,一个是setResult方法
     * 
     */
        bt2.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
Intent intent = new Intent(mContext,Secondactivity.class);
/* 第一个参数是Intent对象
* 第二个参数是请求一个标识

*/
startActivityForResult(intent, 1);

}
});
    }
    /*
     * 1 通过startActivityForResult跳转,接受返回的数据的方法,当前页面通过下面方法接受第二个页面返回的参数
     * 2  requestcode 请求的标识,当该页面有多个button的时候,可以通过该标识通过startActivityForResult(intent, 1);方法
     *   的标识requestcode接受不同的返回数据
     * 3 resultcode   :代表第二个页面返回的标识,可以标识是哪个页面返回的。因为通都是过 onActivityResult方法返回的数据
     *   通过resultcode可以知道是哪个页面返回的数据。
     * 4 第二个页面回传的数据,放在data当中。
     */
    
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    // TODO Auto-generated method stub
    super.onActivityResult(1, 2, data);
    if(requestCode == 1&& resultCode == 2){
    String content = data.getStringExtra("data");
    tv.setText(content);
    }
    }

}

2 factivity.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >


    <Button
        android:id="@+id/button1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/firststart" />


    <Button
        android:id="@+id/button2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/secondstart" />


    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/textview" />


</LinearLayout>

3 SecondActivity.java

package com.wmjintent.demo10;


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


public class Secondactivity extends Activity{
private Button bt;
private String content = "你好";
//通过点击第二个页面的Button,才能给第一个页面回传数据,所以在此初始化按钮
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.secondfactivity);
/*
* 第二个页面什么时候给第一个页面回传数据
* 回传到第一个页面的实际上是一个Intent对象
*/
bt = (Button) findViewById(R.id.button1);
bt.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent data = new Intent();
data.putExtra("data",content);
setResult(2, data);
finish();
//结束当前页面,返回第一个页面
}
});
}

4 secondactivity.xml


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >


    <Button
        android:id="@+id/button1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Button" />


</LinearLayout>

版权声明:共享这个美好的世界,记得转载,以防忘记.[点击右边打赏个五毛?]

对Android中Intent的理解

由于在Android开发中难免遇到Intent这个功能强大的东东,所以我Google了Intent的用法,在这里汇总,大部分都是摘抄各路大神的精华。 Android中提供了Intent机...
  • yulingtianxia
  • yulingtianxia
  • 2011年12月09日 22:41
  • 1479

Intent的理解

Intent,直译为意图,也就是你想要做什么或想去哪? Intent 是Activity,Service和BroadcastReceiver这三个应用组件之间进行通信的信使。 例如:我要在Activi...
  • qq_20172379
  • qq_20172379
  • 2018年01月02日 17:29
  • 46

R-FCN源代码解读

本文针对目标检测算法R-FCN源代码中PSROIPoolingLayer的forward过程进行详细解读,具体示意图理解参考的是http://blog.csdn.net/shadow_guo/arti...
  • lixiang_whu
  • lixiang_whu
  • 2016年12月23日 17:17
  • 3246

Intent深入理解

Intent深入理解 Intent的通讯机制是基于Binder的,而Binder的机制本质上是共享内存; 概念: Intent的架构: 包括三方面 Client,也就是发...
  • u011486491
  • u011486491
  • 2017年01月20日 14:19
  • 450

轻松理解 Android Binder,只需要读这一篇

转: 轻松理解 Android Binder,只需要读这一篇 在 Android 系统中,Binder 起着非常重要的作用,它是整个系统 IPC 的基石。网上已经有很多文章讲...
  • wxx614817
  • wxx614817
  • 2016年08月11日 16:37
  • 1809

PS蒙版深度解析

这篇教程是我刚刚在网络上看到的一个教程,作者写的挺好的,推荐飞特的朋友们一定要往后看,坚持看完。后面的内容实在太精彩了!但是不知道原作者是谁。推荐到飞特和朋友们一起分享学习了。 ps四大核心技术是什...
  • fengshuiyue
  • fengshuiyue
  • 2014年11月21日 21:24
  • 1552

自己关于Intent的一点大致的理解

△ 关于    * Intent在是链接各种组件的一种交流方式,据我现在的理解应该是一种消息的传递机制,常常会有显式的intent,也会有隐式的intent,显式的直接规定了所要链接的一个组件,而隐...
  • qq_34845382
  • qq_34845382
  • 2016年10月07日 22:00
  • 315

理解 Python 装饰器看这一篇就够了

讲 Python 装饰器前,我想先举个例子,虽有点污,但跟装饰器这个话题很贴切。...
  • qq_37267015
  • qq_37267015
  • 2017年03月15日 17:11
  • 2158

谈谈对好代码的理解?

谈谈你对一个好代码的理解 我认为一个优质的代码应该满足一下4点:1.良好的复用性   2.良好的扩展性  3.良好的维护性  4.良好的可读性。现在...
  • xieyihua1994
  • xieyihua1994
  • 2016年05月13日 17:29
  • 411

上一篇,下一篇链接代码

******************************************************Depiction:ShowHeadParam:CiassID 类别ID号        A...
  • snlixing
  • snlixing
  • 2007年05月28日 08:35
  • 3419
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Intent 解析 对比上一篇加强理解PS:仅代码
举报原因:
原因补充:

(最多只允许输入30个字)