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

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();
}



}







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值