欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

Android Activity之间进行参数传递的三种方式,androidactivity,1.使用Intent进行

来源: javaer 分享于  点击 11863 次 点评:240

Android Activity之间进行参数传递的三种方式,androidactivity,1.使用Intent进行


1.使用Intent进行传输 ```java //发送数据的Activity
class button implements OnClickListener{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String ET_1String = ET_1.getText().toString(); //得到文本输入框中的文本
String ET_2String = ET_2.getText().toString();
Intent intent = new Intent();
intent.putExtra("one",ET_1String); //进行参数的传递(“参数名字”,参数)
intent.putExtra("two",ET_2String);
intent.setClass(MainActivity.this, result.class);
MainActivity.this.startActivity(intent);
}
}

//接收数据的Activity    public class result extends Activity{  private TextView resulTextView;                           @Override  protected void onCreate(Bundle savedInstanceState) {          super.onCreate(savedInstanceState);          setContentView(R.layout.result);          resulTextView = (TextView)findViewById(R.id.TV_1);          Intent intent = getIntent();                        //定义接收数据的Intent          String oneString = intent.getStringExtra("one");          String twoString = intent.getStringExtra("two");          int a = Integer.parseInt(oneString);                //进行计算之前要进行强制类型转换          int b = Integer.parseInt(twoString);          int c = a * b;          resulTextView.setText(c + "");                      //要加一个空字符对int类型进行强制类型转换      }  }
 2.使用静态变量进行传递 ```java    1.主界面(发送数据的Activity)      class ButtonListener implements android.view.View.OnClickListener{              @Override              public void onClick(View arg0) {                  // TODO Auto-generated method stub                  Intent intent = new Intent();                  intent.setClass(MainActivity.this, OtherActivity.class);                  OtherActivity.nameString = "zhao";                  startActivity(intent);              }          }      2.接受数据Activity          public class OtherActivity extends Activity{          //定义静态变量          public static String nameString;          @Override          protected void onCreate(Bundle savedInstanceState) {              super.onCreate(savedInstanceState);              setContentView(R.layout.otheractivity);              System.out.println("nameString-------->"+nameString);          }      }  

3.利用setResult进行数据传输 ```java //1.要关闭的页面
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.otheractivity);
Intent intent = this.getIntent();
intent.putExtra("tel", 12345);
//设置requestCode和带有数据的intent对象
OtherActivity.this.setResult(3, intent);
//马上关闭Activity
this.finish();
}

//2.上面的页面关闭时,此页面进行数据的接收  class ButtonListener implements android.view.View.OnClickListener{      @Override      public void onClick(View arg0) {          Intent intent = new Intent();          intent.setClass(MainActivity.this, OtherActivity.class);          //与普通的start方法不同,需要设置requestCode          startActivityForResult(intent, 1);      }  }//如果要进行此操作,需要在数据接收页面中复写activity的onActivityResul()方法  @Override  protected void onActivityResult(int requestCode, int resultCode, Intent data) {      super.onActivityResult(requestCode, resultCode, data);      int tel = 0;      //根据返回码resultCode来判断下一步进行的业务代码      if(resultCode==3){          tel = data.getIntExtra("tel", 0);      }      Log.i(TAG, "tel--------->"+String.valueOf(tel));  }

```

相关栏目:

用户点评