Android Activity之間進行參數傳遞的三種方式
1.使用Intent進行傳輸
//發送數據的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類型進行強制類型轉換 } } </pre>
2.使用靜態變量進行傳遞
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); } } </pre>
3.利用setResult進行數據傳輸
//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)); } </pre>
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!