您的位置:首页 > 移动开发 > Android开发

Android随性笔录之活动返回信息

2016-02-07 12:53 471 查看
package com.example.iii;

import android.os.Bundle;

import android.app.Activity;

import android.content.Intent;

import android.util.Log;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.view.View.OnClickListener;

import android.view.Window;

import android.widget.Button;

import android.widget.Toast;

public class MainActivity extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

requestWindowFeature(Window.FEATURE_NO_TITLE);

setContentView(R.layout.activity_main);

Button button_1=(Button)findViewById(R.id.button1);

button_1.setOnClickListener(new OnClickListener(){

public void onClick(View v)

{

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

startActivityForResult(intent,1);

//这里我们使用了startActivity()方法来启动SecontActivity

//请求码只要是一个唯一值就可以

//String data="Hello SecondActivity";

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

//intent.putExtra("extra_data", data);

//Intent intent=new Intent("com.example.iii.ACTION_START");

//intent.addCategory("com.example.iii.MY_CATEGORY");

//startActivity(intent);

//Toast.makeText(MainActivity.this, "you clicked Button", Toast.LENGTH_SHORT).show();

}

});

}

//使用startActivityForResult()方法 启动SecondActivity,在SecondActivity

//SecondActivity被销毁之后会调上一个活动的onActivityResult()方法

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

{

switch(requestCode){

case 1:

if(resultCode==RESULT_OK)

{

String returnedData=data.getStringExtra("data_return");

Log.d("MainActivity",returnedData);

}

break;

default:

}

}

//onActivityResult()方法带有三个参数,第一个参数requestCode

//第一个启动活动时传入的请求码,第二个参数requestCode,

//即我们在返回数据室传入的处理结果,第三个参数 data

//携带着返回数据的Intent

//由于一个活动中可能调用startActivityForResult()方法启动很多不同的活动

//每个活动返回都会调到onActivityResult()这个方法中

//所以我们检查请求码来判断数据源

//SecontActivity 返回之后我们再通过判断resultCode的值来判断处理结果

//是否成功

@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;

}

public boolean onOptionsItemSelected(MenuItem item)

{

switch(item.getItemId()){

case R.id.add_item:

Toast.makeText(this, "You clicked Add", Toast.LENGTH_SHORT).show();

break;

case R.id.remove_item:

Toast.makeText(this, "You clicked Remove", Toast.LENGTH_SHORT).show();

break;

default:

}

return true;

}

}

package com.example.iii;

import android.app.Activity;

import android.content.Intent;

import android.net.Uri;

import android.os.Bundle;

import android.util.Log;

import android.view.View;

import android.view.Window;

import android.view.View.OnClickListener;

import android.widget.Button;

public class SecondActivity extends Activity{

protected void onCreate(Bundle savedInstanceState){

super.onCreate(savedInstanceState);

requestWindowFeature(Window.FEATURE_NO_TITLE);

setContentView(R.layout.second_layout);

//Intent intent=getIntent();

//String data=intent.getStringExtra("extra_data");

//Log.d("SecondActivity",data);

Button button_2=(Button)findViewById(R.id.button2);

button_2.setOnClickListener(new OnClickListener(){

public void onClick(View v)

{

//给上一个活动传入数据

Intent intent=new Intent();

intent.putExtra("data_return", "Hello MainActivity");

setResult(RESULT_OK,intent);

finish();

//此处的Intent仅仅是用来传送数据而已

//方法setResult() 用来设置返回数据 ,第一个参数用来向上一个活动

//返回处理结果 一般只使用RESULT_OK RESULT_CANCELED 第二个参数

//传回带有数据的Intent

//finish()销毁当前活动

//Intent intent = new Intent(Intent.ACTION_DIAL);

//intent.setData(Uri.parse("tel:10086"));

//Intent intent = new Intent(Intent.ACTION_VIEW);

//intent.setData(Uri.parse("http://www.baidu.com"));

//startActivity(intent);

//Toast.makeText(MainActivity.this, "you clicked Button", Toast.LENGTH_SHORT).show();

}

});

}

//有时候用户不是在SecontActivity中并不是通过点击按钮,而是按下BACK键

//这种情况下 我们需要重写onBackPressed()方法

public void onBackPressed()

{

Intent intent=new Intent();

intent.putExtra("data_return", "Back MainActivity");

setResult(RESULT_OK,intent);

finish();

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: