android Intent练习
16lz
2021-01-26
Intent练习:实现有/无返回结果的页面跳转
视频地址:http://www.imooc.com/video/2212
一、新建Activity,new一个class文件,FActivity,继承Activity类,导入Activity包,实现onCreate方法。
二、新建FActivity的XML文件,进行布局,放置两个button和一个textView
三、在类文件中使用setContentView(R.layout.factivity);绑定XML文件
四、重复上述步骤,继续新建另一个class文件SActivity及XML布局文件,放置一个button。
五、在res --> AndroidManifest.xml声明两个activity,并设置FActivity为第一个显示的界面
六、在class文件FActivity中加入无返回的button控件,设置监听器。 监听器中设置intent来进行页面跳转,并设置启动SActivity。
七、在class文件FActivity中加入有返回的button控件,设置监听器。 监听器中设置intent来进行页面跳转,并设置启动SActivity。
八、在class文件FActivity中设置返回接受处理,把返回结果用在TextView中显示。
九、在class文件SActivity中的Button监听器中设置返回内容,结束本activity。
package com.example.intent_test;import android.app.Activity;import android.content.Context;import android.content.Intent;import android.os.Bundle;import android.text.NoCopySpan.Concrete;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TextView;public class FActivity extends Activity{private Context mContext;private Button btn_no_return_start;private Button btn_return_start;private TextView tv;final private int FIRST_INTENT = 1;//final @Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.factivity);btn_no_return_start = (Button) findViewById(R.id.btn_no_return_start);btn_return_start = (Button) findViewById(R.id.btn_return_start);tv = (TextView) findViewById(R.id.text_show);mContext = this;btn_no_return_start.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {//设置页面跳转Intent intent = new Intent(mContext, SActivity.class);//打开activity页面startActivity(intent);}});btn_return_start.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {//设置页面跳转Intent intent = new Intent(mContext, SActivity.class);//打开activity页面startActivityForResult(intent, FIRST_INTENT);}});}@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);//接收返回内容处理if ((requestCode == 1) && (resultCode == 1)){String content = data.getStringExtra("data");tv.setText(content);}}}
<?xml version="1.0" encoding="utf-8"?>
package com.example.intent_test;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 SActivity extends Activity{private Button btn_return;private String content = "HELLO!!";final private int FIRST_RESULT = 1;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.sactivity);btn_return = (Button) findViewById(R.id.btn_return);btn_return.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {//设置返回内容Intent data = new Intent();data.putExtra("data", content);setResult(FIRST_RESULT, data);//结束activityfinish();}});}}
<?xml version="1.0" encoding="utf-8"?>
更多相关文章
- 关于使用InputStreamReader读取GBK编码文件乱码的问题
- android 设置闹钟及通知
- 第75章、再识Intent-调用发送Email程序(从零开始学Android)
- Android(安卓)studio升级3.0.1遇到的坑及Android(安卓)Studio 3.
- Android之NDK开发 Android(安卓)studio 篇
- mac 平台下编译android版本 ffmpeg+h264
- CyanogenMod源码下载及在模拟器上刷机
- is 32-bit instead of 64-bit动态库错误分析
- Android(安卓)硬解码 MediaCodec 遇到的问题