Android activity 参数传递
???? Android activity 參數傳遞 經過網上的資料收集終于測試成功,可以兩個Activity 之間相互傳遞參數。先將部分代碼帖出來(關鍵代碼已注釋),僅供參考。
第一個activity:activity_main
導入相關包
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.util.Log;
import android.widget.Button;
import android.widget.TextView;
import android.content.Intent;
import android.app.Activity;
button 按鈕傳遞參數:
? private Button bt;
? private TextView tw1;
? protected void onCreate(Bundle savedInstanceState) {
?????? super.onCreate(savedInstanceState);
?????? setContentView(R.layout.activity_main);
?????? bt=(Button)findViewById(R.id.btnBack);
?????? tw1=(TextView)findViewById(R.id.edtRec);
?????? bt.setOnClickListener(new OnClickListener() {? ?
?????????? @Override
?????????? public void onClick(View v) {
?????????????? // TODO Auto-generated method stub ?
?????????????? Intent it= new Intent();
?????????????? //傳遞參數
?????????????? it.putExtra("name", tw1.getText().toString());
?????????????? it.setClass(MainActivity.this, ShowInfo.class);
????????????? // startActivity(it); //不接收返回值
?????????????? startActivityForResult(it, 1); //接收返回值? 這里參數必須>0 否則onActivityResult無法執行
???????????? // MainActivity.this.finish();? //終止Activity
?????????????? ?
?????????? }
?????? });
??? }
接收返回參數:前面的按鈕必須設置為startActivityForResult(it, 1); //接收返回值
?? ? /**
???? *? 接收帶有返回值的Activity方法
???? */ ?
??? @Override ?
??? protected void onActivityResult(int requestCode, int resultCode, Intent data) ?
??? { ?
?????? ?
??????? super.onActivityResult(requestCode, resultCode, data);
??????? Log.i("Main", "requestCode:"+requestCode+"resultCode:"+resultCode); ?
???????? //這里 requestCode=1,resultCode=-1
??????? if(requestCode == 1){ ?
?????? ??? ?tw1.setText(data.getStringExtra("return")); ?
??????? } ?
????? //? tw1.setText(data.getStringExtra("return")); ?
?????? ?
??? }?
第二個activity ShowInfo:
??? private TextView tv1;
?? ?private Button btnBack;
?? ?@Override
?? ?protected void onCreate(Bundle savedInstanceState) {
?? ??? ?super.onCreate(savedInstanceState);
?? ??? ?setContentView(R.layout.activity_show_info);
?? ??? ?//新頁面接收數據
?? ???? Intent intent=this.getIntent(); ?
?? ??? ?String name=intent.getStringExtra("name");
??????? Log.i("獲取到的name值為",name);
?? ???? tv1 = (TextView)findViewById( R.id.edtRec );
?? ???? tv1.setText("傳過來的值為:"+name);
?? ??? ?
?? ???? btnBack=(Button)findViewById(R.id.btnBack);//定義返回按鈕
?? ???? btnBack.setOnClickListener(new OnClickListener() ?
?? ???????? { ?
?? ????????????? ?
?? ???????????? @Override ?
?? ???????????? public void onClick(View v)? //返回按鈕傳遞參數給主頁面
?? ???????????? { ?
?? ???????????????? Intent intent=new Intent(); ?
?? ???????????????? intent.putExtra("return", tv1.getText().toString()); //傳遞參數到return
?? ???????????????? setResult(RESULT_OK, intent); ?
?? ???????????????? finish();? //關閉當前activity
?? ????????????????? ?
?? ???????????? } ?
?? ???????? }); ?
?? ??? ?
?? ?}
轉載于:https://blog.51cto.com/clchyj/1568328
總結
以上是生活随笔為你收集整理的Android activity 参数传递的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【沟通的艺术】你能勾住你的听众么?
- 下一篇: 解决SpringMVC中的 Could