本文实例讲述了AndroID编程中Intent实现页面跳转功能。分享给大家供大家参考,具体如下:
安卓四大组件:Activity、Service、broadcast Receiver、Content ProvIDer
Intent实现页面之间跳转
1、无返回值
startActivity(intent)
2、有返回值
startActivityForResult(intent,requestCode);onActivityResult(int requestCode,int resultCode,Intent data)setResult(resultCode,data);
FActivity.java
package com.example.hello;import androID.app.Activity;import androID.content.Context;import androID.content.Intent;import androID.os.Bundle;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 Context mContext; private button bt2; private TextVIEw tv; @OverrIDe protected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.factivity); /* * 通过点击bt1实现页面之间的跳转 * 1.startActivity来实现跳转 * 1>初始换Intent */ mContext = this; bt1 = (button) findVIEwByID(R.ID.button1_first); bt2 = (button) findVIEwByID(R.ID.button2_second); tv = (TextVIEw) findVIEwByID(R.ID.textVIEw1); //注册点击事件 bt1.setonClickListener(new OnClickListener() { @OverrIDe public voID onClick(VIEw v) { /** * 第一个参数,上下文对象this * 第二个参数,目标文件 */ Intent intent = new Intent(mContext,SActivity.class); startActivity(intent); } }); /* * 通过startActivityForResult * 第二个参数是请求的一个标识 */ bt2.setonClickListener(new OnClickListener() { @OverrIDe public voID onClick(VIEw v) { Intent intent = new Intent(mContext,SActivity.class); startActivityForResult(intent,1); } }); } /* * 通过startActivityForResult 跳转,接受返回数据的方法 * requestCode:请求标识 * resultCode:第二个页面返回的标识 * data 第二个页面回传的数据 */ @OverrIDe protected voID onActivityResult(int requestCode,Intent data) { super.onActivityResult(requestCode,resultCode,data); if (requestCode == 1 && resultCode == 2) { String content = data.getStringExtra("data"); tv.setText(content); } }}
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_first" androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:text="第一种启动方式" /> <button androID:ID="@+ID/button2_second" androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:text="第二种启动方式" /> <TextVIEw androID:ID="@+ID/textVIEw1" androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:text="把第二个页面回传的数据显示出来" /></linearLayout>
SActivity.java
package com.example.hello;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 bt; private String content = "你好"; @OverrIDe protected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.sactivity); /* * 第二个页面什么时候回传数据给第一个页面 * 回传到第一个页面的,实际上是一个Intent对象 */ bt = (button) findVIEwByID(R.ID.button1); bt.setonClickListener(new OnClickListener() { @OverrIDe public voID onClick(VIEw v) { Intent data = new Intent(); data.putExtra("data",content); setResult(2,data); //结束当前页面 finish(); } }); }}
sactivity.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>
AndroIDManifest.xml
<?xml version="1.0" enCoding="utf-8"?><manifest xmlns:androID="http://schemas.androID.com/apk/res/androID" package="com.example.hello" androID:versionCode="1" androID:versionname="1.0" > <uses-sdk androID:minSdkVersion="8" androID:targetSdkVersion="21" /> <application androID:allowBackup="true" androID:icon="@drawable/ic_launcher" androID:label="@string/app_name" androID:theme="@style/Apptheme" > <activity androID:name=".MainActivity" androID:label="@string/app_name" > </activity> <activity androID:name=".FActivity" androID:label="@string/app_name" > <!-- 首启动项 --> <intent-filter> <action androID:name="androID.intent.action.MAIN" /> <category androID:name="androID.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity androID:name=".SActivity" androID:label="@string/app_name" > </activity> </application></manifest>
用浏览器打开网页
Uri uri = Uri.parse("http://www.baIDu.com");Intent intent = new Intent(Intent.ACTION_VIEW,uri);startActivity(intent);
更多关于AndroID相关内容感兴趣的读者可查看本站专题:《Android图形与图像处理技巧总结》、《Android开发入门与进阶教程》、《Android调试技巧与常见问题解决方法汇总》、《Android基本组件用法总结》、《Android视图View技巧总结》、《Android布局layout技巧总结》及《Android控件用法总结》
希望本文所述对大家AndroID程序设计有所帮助。
总结以上是内存溢出为你收集整理的Android编程中Intent实现页面跳转功能详解全部内容,希望文章能够帮你解决Android编程中Intent实现页面跳转功能详解所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)