Android——Activity跳转
2016-03-20 21:34
495 查看
Activity_main.xml
<?xmlversion="1.0"encoding="utf-8"?> <RelativeLayoutxmlns: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="HelloWorld!" 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
packagecom.hanqi.text3; importandroid.app.Activity; importandroid.content.Intent; importandroid.os.Bundle; importandroid.util.Log; importandroid.view.View; //继承了Activity publicclassMainActivityextendsActivity{ @Override//覆盖重写了父类的onCreate() protectedvoidonCreate(BundlesavedInstanceState){ //super父类 //调用了父类的方法 super.onCreate(savedInstanceState); //设置Java代码和layout文件的关联 //通过R文件的id值 setContentView(R.layout.activity_main); } //按钮点击事件的回调函数 publicvoidonMyButtonClick(Viewv) { Log.e("ATG","按钮点击事件触发"); //Activity2a2=newActivity2(); //先创建意图Intent //第一个参数来源实例,就是当前Activity实例 //第二个参数目标类,目标Activity的class Intentin=newIntent(this,Activity2.class); //发动意图 startActivity(in); } }
需要注意的是这个方法必须符合三个条件:1.public 2.返回void 3.只有一个参数View,这个View就是被点击的这个控件。
activity2.xml
<?xmlversion="1.0"encoding="utf-8"?>Activity2.java
<LinearLayoutxmlns: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>
packagecom.hanqi.text3;importandroid.app.Activity;activity3.xml
importandroid.content.Intent;
importandroid.os.Bundle;
importandroid.os.PersistableBundle;
importandroid.util.Log;
importandroid.view.View;
importandroid.widget.EditText;/**
*CreatedbyAdministratoron2016/3/16.
*/
//回调方法
publicclassActivity2extendsActivity{@Override
protectedvoidonCreate(BundlesavedInstanceState){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
protectedvoidonStart(){
super.onStart();Log.e("ATG","######启动");}
@Override
protectedvoidonResume(){
super.onResume();
Log.e("ATG","######显示");
}@Override
protectedvoidonPause(){
super.onPause();
Log.e("ATG","######暂停");
}
@Override
protectedvoidonStop(){
super.onStop();
Log.e("ATG","######停止");
}
@Override
protectedvoidonRestart(){
super.onRestart();
Log.e("ATG","######重新启动");
}
//回调方法
//1.在暂停之后和停止之前保存
inti=0;
Stringetkey="edittext";//成员变量
EditTextet;
@Override
protectedvoidonSaveInstanceState(BundleoutState){
//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);Stringstr=et.getText().toString();//局部变量Log.e("TAG","获取用户输入="+str);
outState.getString("edittext",str);}//2.恢复销毁前的保持状态
@Override
protectedvoidonRestoreInstanceState(BundlesavedInstanceState){
super.onRestoreInstanceState(savedInstanceState);i=savedInstanceState.getInt("myKey");
Log.e("ATG","获取="+i);//恢复用户数据
Stringstr=savedInstanceState.getString(etkey);
Log.e("ATG","获取str="+str);
//设置输入框里面的内容
//操作View的实例
et=(EditText)findViewById(R.id.et);
et.setText(str);
}@Override
protectedvoidonDestroy(){
super.onDestroy();
Log.e("ATG","######销毁");
}publicvoidonbuttonclick(Viewv)
{
Intentin=newIntent(this,Activity3.class);startActivity(in);
}}
<?xmlversion="1.0"encoding="utf-8"?>Activity3.java
<LinearLayoutxmlns: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>
packagecom.hanqi.text3;importandroid.app.Activity;AndroidManifest.xml
importandroid.os.Bundle;
importandroid.os.PersistableBundle;
importandroid.view.View;/**
*CreatedbyAdministratoron2016/3/19.
*/
publicclassActivity3extendsActivity{@Override
publicvoidonCreate(BundlesavedInstanceState,PersistableBundlepersistentState){
super.onCreate(savedInstanceState,persistentState);setContentView(R.layout.activity3);
}
publicvoidonClick(Viewv)
{
//关闭
finish();
}
}
<?xmlversion="1.0"encoding="utf-8"?>
<manifestxmlns: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"><activityandroid:name=".Activity2">
<intent-filter>
<actionandroid:name="android.intent.action.VIEW"/><categoryandroid:name="android.intent.category.DEFAULT"/>
</intent-filter></activity>
<activityandroid:name=".Activity3">
<intent-filter>
<actionandroid:name="android.intent.action.VIEW"/><categoryandroid:name="android.intent.category.DEFAULT"/>
</intent-filter></activity><activityandroid:name=".MainActivity">
<intent-filter>
<actionandroid:name="android.intent.action.MAIN"/><categoryandroid:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application></manifest>
相关文章推荐
- Android深入浅出之Binder机制
- Android Studio--活动的实践
- Android SmartImageView的使用(堪与ImageLoader加载图片媲美)
- Android缩放图片加载大图片
- Activity中finish()和onDestroy()的区别
- Android高仿京东垂直循环滚动新闻栏
- Android中service的生命周期
- 一张图搞定Android学习路线,非常全面
- Android4.4以上改变状态栏颜色的几种实现方式
- Android进程间通信
- Android studio 配置JNI环境
- (译)在Android中使用并发提高应用性能
- Android_实现页面跳转(intent的应用)及进阶
- android Handler引起内存泄漏
- 【Android 2d 游戏开发(2)】——2048
- Android获取存储路径API的说明
- Android通讯录实现联系人模糊查找
- Android逆向入门
- android单元测试
- view类的方法