1.首先新建好项目,设置好图标。
2.
这是应用自带的创建Android页面的方法,可以同时创建类hexml页面,并将新页面添加到activity标签中。
3.activity_main.xml页面
- <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=".MainActivity" >
- <Button
- android:id="@+id/button1"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentTop="true"
- android:layout_centerHorizontal="true"
- android:layout_marginTop="156dp"
- android:onClick="toNewActivity"
- android:text="toNewActivity" />
- </RelativeLayout>
MainActivity.java页面
- /**
- * startActivityForSult(Intent intent,int requestCode); //intent为意图,用于跳转;requestCode为请求码,可以认为代表跳转事件起始页面的编号
- * setResult(int resultCode,Intent data); //resultCode为结果码,可以认为跳转事件新页面的编号,data为新页面想要向起始页面返回的数据
- * onResult(int requestCode,int resultCode,Intent data); //当新页面带着data数据往回跳转时,会进入onResult方法
- */
- package com.example.returnvalue;
- import android.os.Bundle;
- import android.app.Activity;
- import android.content.Intent;
- import android.view.Menu;
- import android.view.View;
- import android.widget.Toast;
- public class MainActivity extends Activity {
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- }
- public void toNewActivity(View view){
- Intent intent=new Intent(this,NewActivity.class);
- startActivityForResult(intent,1); //将MainActivity页面的请求码定位1
- }
- @Override
- protected void onActivityResult(int requestCode, int resultCode, Intent data) { //新页面跳转回来会进入该方法
- // TODO Auto-generated method stub
- super.onActivityResult(requestCode, resultCode, data);
- switch(requestCode){
- case 1: //判断是不是由MainActivity页面进行请求的,如果是则执行case语句
- if(resultCode==RESULT_OK){ //判断是不是由NewActivity页面进行跳转回来的,如果是则进入if语句
- if(data!=null){
- String returnData=data.getStringExtra("return_data");
- Toast.makeText(this,"return_data="+returnData,Toast.LENGTH_LONG).show();
- }
- }
- break;
- default:
- break;
- }
- }
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- // Inflate the menu; this adds items to the action bar if it is present.
- getMenuInflater().inflate(R.menu.main, menu);
- return true;
- }
- }
activity_new.xml页面
- <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=".NewActivity" >
- <Button
- android:id="@+id/button1"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentTop="true"
- android:layout_centerHorizontal="true"
- android:layout_marginTop="144dp"
- android:onClick="toFirstActivity"
- android:text="toFirstActivity" />
- </RelativeLayout>
NewActivity.java页面
- package com.example.returnvalue;
- import android.os.Bundle;
- import android.app.Activity;
- import android.content.Intent;
- import android.view.Menu;
- import android.view.View;
- public class NewActivity extends Activity {
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_new);
- }
- public void toFirstActivity(View view){
- Intent intent=new Intent();
- intent.putExtra("return_data","hello");
- setResult(RESULT_OK,intent); //将新页面编号定义为RESULT_OK,也就是-1
- finish(); //关闭页面,就是将最上面的Activity移出了栈,并没有释放占用的资源
- }
- public void onBackPressed(){
- //super.onBackPressed(); super.onBackPress()是执行系统的默认动作,就是退出当前Activity,所以当我们重写这个函数时,需要将这一句去掉
- Intent intent=new Intent();
- intent.putExtra("return_data","hello");
- setResult(RESULT_OK,intent); //将新页面编号定义为RESULT_OK,也就是-1
- finish(); //关闭页面,就是将最上面的Activity移出了栈,并没有释放占用的资源
- }
- }
4.这个例子中要注意重写onBackPressed方法时要去掉super.onBackPressed。