【第22期】观点:IT 行业加班,到底有没有价值?

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>

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

相关文章推荐

activemq点对点以及发布订阅模式代码(参考前一篇jms学习理解)

消息”是在两台计算机间传送的数据单位。消息可以非常简单,例如只包含文本字符串;也可以更复杂,可能包含嵌入对象。 消息被发送到队列中。“消息队列”是在消息的传输过程中保存消息的容器。消息队列管理器在将...

PhotoShop - 记录PS的所有操作为JavaScript代码

[size=large]PS中是可以运用JavaScript编写脚本的,关于这部分请参见:[/size] [list] [*][url]http://developer.51cto.com/art/201309/411886_all.htm[/url] [*][url]http://bbs.cfan.com.cn/thread-1398326-1-1.html[/url] [/list] [list] [*]一些示例(保存为jpg文件等)[url]http://www.tranberry.com/photoshop/photoshop_scripting/tips/photosho

PS快捷键(仅方便前端切图)

h : 抓手工具 ctrl+alt+滑轮 : 控制图片缩放 取消选择区 : Ctrl+D; ctrl+c : 复制; ctrl+n : 新建(或ctrl+双击空白区域) ;...

一篇codereview报告--类的职责分配与代码冗余

     以下内容引自某个项目的一篇codereview报告                目前的codereview好像对代码的结构、代码的冗余关注的太少,这两天看了一下,发现xx系统里存在不少的冗余,这些都是由一些代码功
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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