android自学 intent 页面跳转的两种方法
2016-03-06 16:08
501 查看
在Activity中 使用Intent进行页面跳转
第一种方法 是没有返回参数的 使用了button_first
第二种方法是有返回参数的 使用了按钮 button_second
代码如下
第二个页面的代码如下
第一种很简单
重点是第二种
记录一下
startActivityForResult(intent,1)中 第一个是传入需求 第二是记录一个需求码 这里是1 也就是后面方法
这个方法可以直接重写
然后在第二个页面代码中 对其中的button_two 添加监听事件
因为没有其他的需求所以Intent()中没有内容
通过intent的 putExtra方法向 “data”中添加字符串 content
然后对intent data记录结果码 resultCode 2
在第一个界面代码方法中 对去需求码和结果码进行判断
这样找到相应的data(intent类型)然后通过
虽然很很简单 但是我还是看了好久,真希望自己也能随随便便就是一大串代码写出来 唉 加油吧骚年~~~~~
第一种方法 是没有返回参数的 使用了button_first
第二种方法是有返回参数的 使用了按钮 button_second
代码如下
package com.example.admin.test0305_2; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; /** * Created by admin on 2016/3/6. */ public class Select extends Activity{ private Button button1; private Button button2; private TextView textview; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.select); button1= (Button) findViewById(R.id.button_first); button2= (Button) findViewById(R.id.button_secobd); textview= (TextView) findViewById(R.id.textView); button1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent=new Intent(Select.this,MainActivity.class); startActivity(intent); } }); button2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent=new Intent(Select.this,MainActivity.class); startActivityForResult(intent,1); } }); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if(requestCode==1&&resultCode==2){ String content=data.getStringExtra("data"); textview.setText(content); } } }
第二个页面的代码如下
package com.example.admin.test0305_2; import android.content.Intent; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.view.Window; import android.widget.Button; public class MainActivity extends AppCompatActivity { private Button button; private String content="你好第一个界面~~~~~"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_main); button= (Button) findViewById(R.id.button_two); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent data=new Intent(); data.putExtra("data",content); setResult(2,data); finish(); } }); } }可以发现两种方式区别在于 一个是startActivity() 另一个是startActivityForResult()
第一种很简单
重点是第二种
记录一下
startActivityForResult(intent,1)中 第一个是传入需求 第二是记录一个需求码 这里是1 也就是后面方法
protected void onActivityResult(int requestCode, int resultCode, Intent data)中的requestCode
这个方法可以直接重写
然后在第二个页面代码中 对其中的button_two 添加监听事件
因为没有其他的需求所以Intent()中没有内容
通过intent的 putExtra方法向 “data”中添加字符串 content
然后对intent data记录结果码 resultCode 2
在第一个界面代码方法中 对去需求码和结果码进行判断
这样找到相应的data(intent类型)然后通过
String content=data.getStringExtra("data"); textview.setText(content);取出data中的字符串 然后写入textview中
虽然很很简单 但是我还是看了好久,真希望自己也能随随便便就是一大串代码写出来 唉 加油吧骚年~~~~~
相关文章推荐
- 【读书笔记】【Android 开发艺术探索】第 7 章 Android 动画深入分析
- Android学习第一课
- Android Studio系列-签名打包
- android中的style部分属性值介绍
- Android实现后台每日定时更新操作实现知识点和思路
- android studio运行编译速度慢的解决方法
- Android 之Activity启动模式之 lauchMode
- Android常用系统广播
- android学习之EditText需要点击两次触发onclick问题解决
- Android之路-学习-手机卫士
- android简单实例---------ActionBar的简单使用(一)
- Android开发60条技术经验总结
- 《Android群英传》 使用Canvas绘图
- Android开发艺术探索读后感-part1
- Android菜鸟的成长笔记——PopupMenu使用
- android studio 开发 proxy 异常
- android中使用codec总是报NoSuchMethodError的问题根源
- <Android编程权威指南>之1.6 Activity.this和this的区别
- 我的Android进阶之旅------>Android自定义View来实现解析lrc歌词并同步滚动、上下拖动、缩放歌词的功能
- 猜猜红桃A在哪里(ImageView单击事件与透明度处理)