3)在回调方法当中实现逻辑

*/

public class MainActivity extends Activity implements OnClickListener {

private EditText et_main_message;

private Button btn_main_start1;

private Button btn_main_start2;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

//初始化视图对象

et_main_message = (EditText) findViewById(R.id.et_main_message);

btn_main_start1 = (Button) findViewById(R.id.btn_main_start1);

btn_main_start2 = (Button) findViewById(R.id.btn_main_start2);

//设置点击监听

btn_main_start1.setOnClickListener(this);

btn_main_start2.setOnClickListener(this);

}

@Override

public void onClick(View v) {//v就是发生事件的视图对象(操作的视图)

if(v==btn_main_start1){

Toast.makeText(this, “一般启动”, 0).show();

//创建Intent对象(显示)

Intent intent = new Intent(this, SecondActivity.class);

//通过intent额外携带数据

String message = et_main_message.getText().toString();

intent.putExtra(“MESSAGE”,message);

//启动Activity

startActivity(intent);

}else if(v==btn_main_start2){

Toast.makeText(this, “带回调的启动”, 0).show();

}

}

}

在SecondActivity当中

1)得到intent对象

2)通过intent对象读取额外数据

3)显示到EditText当中

package com.itzheng.lo2_activity;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.view.Menu;

import android.view.MenuItem;

import android.widget.EditText;

public class SecondActivity extends Activity {

private EditText et_second_message;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_second);

et_second_message = (EditText) findViewById(R.id.et_second_message);

//得到Intent对象

Intent intent = getIntent();

//通过intent读取额外数据

String message = intent.getStringExtra(“MESSAGE”);

//显示到EditText

et_second_message.setText(message);

}

}

测试

[](()3)实现一般返回

a、在显示Second界面的时候,Main界面其实还在,只是被覆盖了

b、关闭当前界面(回到上一个界面):finish()

修改activity_second.xml

修改SecondActivity类

[](()4)实现带回调的启动与结果返回

在MainActivity当中

else if (v == btn_main_start2) {

Toast.makeText(this, “带回调的启动”, 0).show();

// 创建Intent对象(显示)

Intent intent = new Intent(this, SecondActivity.class);

// 通过intent额外携带数据

String message = et_main_message.getText().toString();

intent.putExtra(“MESSAGE”, message);

// 带回调启动Activity

int requestCode = 2;// 请求码

startActivityForResult(intent, requestCode);

}

}

@Override

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

// TODO Auto-generated method stub

// 判断code

if (requestCode == 2 && resultCode == 3) {

// 从data当中取出数据

String result = data.getStringExtra(“RESULT”);

// 显示出来

et_main_message.setText(result);

}

}

在SecondActivity

public void back2(View v){

//保存结果,准备一个带额外数据的intent对象

Intent data = new Intent();

data.putExtra(“RESULT”, et_second_message.getText().toString());

int resultCode = 3;//结果码

//设置返回的结果

setResult(resultCode,data);

//关闭当前界面

finish();

}

测试

[](()(5)启动一个Activity的流程图

[](()2、Activity的生命周期

[](()(1)安卓界面的四种状态

[](()(2)Activity的方法

[](()(3)测试应用理解上诉方法

好文推荐

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: