Android——Activity跳转
Activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.hanqi.text3.MainActivity"> <TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
android:id="@+id/textView" /> <Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="跳转页面"
android:id="@+id/mybutton"
android:layout_below="@+id/textView"
android:layout_toRightOf="@+id/textView"
android:layout_toEndOf="@+id/textView"
android:layout_marginTop="78dp"
android:onClick="onMyButtonClick"
/>
</RelativeLayout>
MainActivity.java
package com.hanqi.text3; import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View; //继承了Activity
public class MainActivity extends Activity { @Override //覆盖 重写了父类的onCreate()
protected void onCreate(Bundle savedInstanceState) {
//super 父类
//调用了父类的方法
super.onCreate(savedInstanceState);
//设置Java代码和layout文件的关联
//通过R文件的id值
setContentView(R.layout.activity_main);
}
//按钮点击事件的回调函数
public void onMyButtonClick(View v)
{
Log.e("ATG","按钮点击事件触发");
// Activity2 a2= new Activity2();
//先创建意图 Intent
//第一个参数 来源实例, 就是当前Activity实例
//第二个参数 目标类, 目标Activity的class
Intent in = new Intent(this,Activity2.class); //发动意图
startActivity(in); }
}
需要注意的是这个方法必须符合三个条件:1.public 2.返回void 3.只有一个参数View,这个View就是被点击的这个控件。
activity2.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"> <TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:text="大家好" />
<EditText
android:layout_width="100dp"
android:layout_height="wrap_content"
android:id="@+id/et"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="跳转下一个"
android:onClick="onbuttonclick"
/> </LinearLayout>
Activity2.java
package com.hanqi.text3; import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.PersistableBundle;
import android.util.Log;
import android.view.View;
import android.widget.EditText; /**
* Created by Administrator on 2016/3/16.
*/
//回调方法
public class Activity2 extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //
setContentView(R.layout.activity2); System.out.println("这是我运行的第一个Activity"); // Log.d("text", "log输出的信息");
// Log.w("text", "log输出的信息");
// Log.e("text", "log输出的信息");
// Log.i("text","log输出的信息");
// Log.v("text","log输出的信息"); Log.e("TAG","######创建"); }
@Override
protected void onStart(){
super.onStart(); Log.e("ATG","######启动"); }
@Override
protected void onResume(){
super.onResume();
Log.e("ATG", "######显示");
} @Override
protected void onPause(){
super.onPause();
Log.e("ATG", "######暂停");
}
@Override
protected void onStop(){
super.onStop();
Log.e("ATG", "######停止");
}
@Override
protected void onRestart(){
super.onRestart();
Log.e("ATG", "######重新启动");
}
//回调方法
//1.在暂停之后和停止之前保存
int i=0;
String etkey ="edittext";//成员变量
EditText et;
@Override
protected void onSaveInstanceState(Bundle outState) {
//Bundle实际是一个Map,可以存储键值对key/value
i++;
Log.e("ATG","保存="+i); outState.putInt("myKey",i); super.onSaveInstanceState(outState); //保存用户的输入信息
//EditText
//使用id查找并获取View的实例
et= (EditText)findViewById(R.id.et); String str=et.getText().toString();//局部变量 Log.e("TAG","获取用户输入="+str);
outState.getString("edittext",str); } //2.恢复销毁前的保持状态
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState); i = savedInstanceState.getInt("myKey");
Log.e("ATG", "获取="+i); //恢复用户数据
String str = savedInstanceState.getString(etkey);
Log.e("ATG", "获取str="+str);
//设置输入框里面的内容
//操作View的实例
et = (EditText)findViewById(R.id.et);
et.setText(str);
} @Override
protected void onDestroy(){
super.onDestroy();
Log.e("ATG", "######销毁");
} public void onbuttonclick(View v)
{
Intent in = new Intent(this,Activity3.class); startActivity(in);
} }
activity3.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"> <Button
android:layout_width="100dp"
android:layout_height="wrap_content"
android:text="关闭"
android:onClick="onClick"
/>
</LinearLayout>
Activity3.java
package com.hanqi.text3; import android.app.Activity;
import android.os.Bundle;
import android.os.PersistableBundle;
import android.view.View; /**
* Created by Administrator on 2016/3/19.
*/
public class Activity3 extends Activity { @Override
public void onCreate(Bundle savedInstanceState, PersistableBundle persistentState) {
super.onCreate(savedInstanceState, persistentState); setContentView(R.layout.activity3);
}
public void onClick(View v)
{
//关闭
finish();
}
}
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.hanqi.text3"> <application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme"> <activity android:name=".Activity2" >
<intent-filter>
<action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" />
</intent-filter> </activity>
<activity android:name=".Activity3" >
<intent-filter>
<action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" />
</intent-filter> </activity> <activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application> </manifest>
Android——Activity跳转的更多相关文章
- android activity 跳转传值问题研究
intent = new Intent(); intent.setClass(LoginActivity.this, RegActivity.class); startActivity(intent) ...
- Android Activity跳转动画,让你的APP瞬间绚丽起来
我们都知道绚丽的APP总会给用户耳目一新的感觉,为了抓住用户更大网络公司使出浑身解数让自己的产品更绚丽,而绚丽最简单的效果就是Activity跳转效果,不仅可以让用户看起来舒服,而且实现起来也特别简单 ...
- Android activity跳转方式
方法一:通过SetContentView切换Layout来实现界面的切换,这种方法相当于重绘Activity. protected void onCreate(Bundle savedInstance ...
- [Android]Activity跳转传递任意类型的数据、Activity为SingleTask时代替StartActivityForResult的解决方案
以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/4389674.html 需求:在ActivityA跳转到Acti ...
- Android activity跳转并且回调
假设A页面要跳到B页面,A页面需要获取B页面传回来的参数来确定显示哪个列表.主要代码如下: 在A页面中: Intent intent = new Intent(); ...
- Android之Activity跳转
简述 如果把每个activity看成一个页面的话,那么activity之间的跳转和页面的之间的跳转基本上是一样的.首先需要监听一个事件,当这个事件发生的时候,就进行跳转.html中有个<a sr ...
- android intent 隐式意图和显示意图(activity跳转)
android中的意图有显示意图和隐式意图两种, 显示意图要求必须知道被激活组件的包和class 隐式意图只需要知道跳转activity的动作和数据,就可以激活对应的组件 A 主activity B ...
- 【原创】Android 从一个Activity跳转到另外一个Activity
Android四大组件activity使用,实现两个activity之间的跳转 基本流程:创建两个activity-将其中一个activity中组件作为事件源-通过组件事件的处理借助intent对象实 ...
- android 15 activity跳转
从一个屏幕跳到另一个屏幕,一个activity跳转到另一个activity,Intent类用于组件之间传递数据和跳转,组件包括不仅activity. package com.sxt.day04_01; ...
随机推荐
- C++ 学习 之Struct
转自https://blog.csdn.net/bestconvenient/article/details/30734139 最开始,就让我们来讨论一下一个最最基本,也最最容易被人忽视掉的问题——C ...
- CMake Error at cmake/OpenCVUtils.cmake
CMake Error at cmake/OpenCVUtils.cmake:1047 (message): Failed to download . Status= Call Stack (most ...
- property 、classmethod 、 staticmethod 的用法
@property # property是一个装饰器函数 ,作用:将一个方法伪装成属性 # 所有的装饰器函数都怎么用? 在函数.方法.类的上面一行直接@装饰器的名字 # 装饰器的分类: # 装饰函数 ...
- tomcat 启动脚本
#!/bin/bash##干掉运行中的tomcat results=把结果赋值给变量,可以保证命令上条执行完再执行下一条#也可以用这句简单的代码按进程名kill: ps -ef | grep 进程名 ...
- 解决C3P0在Linux下Failed to get local InetAddress for VMID问题
解决C3P0在Linux下Failed to get local InetAddress for VMID问题 FailedtogetlocalInetAddressforVMID.Thisisunl ...
- “2017面向对象程序设计(Java)第就九周学习总结”存在问题的反馈
对于“2017面向对象程序设计(Java)第就九周学习总结”存在问题的反馈 1.博文未写者:高树平 高俊梅 冯小丽 缪召召 王瑞强 宗鹏新 李向龙 马润韬 米奇辉 卯保云——不及时提交博客的同学人数出 ...
- 微信小程序商品筛选,侧方弹出动画选择页面
https://blog.csdn.net/qq_36538012/article/details/85110641
- async.series
[async.series] series适用于顺序执行异步且前后无关联的调用.对于顺序执行异步且前后有叛逆的调用,则需要使用waterfall. If any functions in the se ...
- centos7.4上安装python3环境的坑
前言:为了将爬虫项目布置到服务器上,才有了今天这一下午的坑,必须记录 不要动现有的python2环境!不要动现有的python2环境!不要动现有的python2环境! 解压 tar -xvf Pyth ...
- java并发:jdk1.8中ConcurrentHashMap源码浅析
ConcurrentHashMap是线程安全的.可以在多线程中对ConcurrentHashMap进行操作. 在jdk1.7中,使用的是锁分段技术Segment.数据结构是数组+链表. 对比jdk1. ...