亲宝软件园·资讯

展开

Android实现Activity之间通信 Android实现Activity之间通信的方法

Ruthless 人气:0
想了解Android实现Activity之间通信的方法的相关内容吗,Ruthless在本文为您仔细讲解Android实现Activity之间通信的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:Android,Activity,通信,下面大家一起来学习吧。

本文实例讲述了Android实现Activity之间通信的方法。分享给大家供大家参考。具体如下:

在一个Activity中可以使用系统提供的startActivity(Intent intent)方法打开新的Activity,在打开新的Activity前,你可以决定是否为新的Activity传递参数。

第一种:打开新的Activity,不传递参数

public class MainActivity extends Activity {
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    Button btnOpen=(Button)this.findViewById(R.id.btnOpen);
    btnOpen.setOnClickListener(new View.OnClickListener(){
      public void onClick(View v) {
        //新建一个显式意图,第一个参数为当前Activity类对象,第二个参数为你要打开的Activity类
        startActivity(new Intent(MainActivity.this, OtherActivity.class));
      }
    });
  }
}

第二种:打开新的Activity,并传递若干个参数给它

package com.ljq.activitys;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends Activity {
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    Button btnOpen=(Button)this.findViewById(R.id.btnOpen);
    btnOpen.setOnClickListener(new View.OnClickListener(){
      public void onClick(View v) {
        //第一种:打开新的Activity,不传递参数
        //新建一个显式意图,第一个参数为当前Activity类对象,第二个参数为你要打开的Activity类
        //startActivity(new Intent(MainActivity.this, OtherActivity.class));
        //第二种:打开新的Activity,并传递若干个参数给它
        Intent intent=new Intent(MainActivity.this, OtherActivity.class);
        //Bundle类用作携带数据
        Bundle bundle=new Bundle();
        bundle.putString("name", "linjiqin");
        bundle.putInt("age", 24);
        //附带上额外的数据
        intent.putExtras(bundle);
        startActivity(intent);
      }
    });
  }
}

在新的Activity中接收前面Activity传递过来的参数

package com.ljq.activitys;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
public class OtherActivity extends Activity {
  private final static String TAG="OtherActivity";
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.other);
    //在新的Activity中接收前面Activity传递过来的参数
    Bundle bundle=this.getIntent().getExtras();
    String name=bundle.getString("name");
    Integer age=bundle.getInt("age");
    Log.i(TAG, name+" : "+age);
  }
}

希望本文所述对大家的Android程序设计有所帮助。

加载全部内容

相关教程
猜你喜欢
用户评论