標籤:android意圖傳參返回結果
例如有兩個頁面a,b。a頁面傳參數到b頁面,b頁面將獲得到的參數處理後,再將結果用參數傳回來給頁面a.
1.a頁面的主要MainActivity類的代碼如下:
private Button button; private EditText result; private final static int REQUESTCODE = 1;
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button = (Button)this.findViewById(R.id.button1); result = (EditText)this.findViewById(R.id.result); button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stub
Intent intent = new Intent(MainActivity.this,OtherActivity.class);intent.putExtra("a", "true");startActivityForResult(intent,REQUESTCODE);}}); }
<pre name="code" class="html"> @Override protected void onActivityResult(int requestCode,int resultCode,Intent data){ super.onActivityResult(requestCode, resultCode, data); if(resultCode == 2){ if(requestCode == REQUESTCODE){
<span style="font-family: Arial, Helvetica, sans-serif;">String c= intent.getStringExtra("c");</span> result.setText(c); } } }
將參數a傳入到b頁面,onActivityResult函數處理將b頁面傳過來的參數c
<span style="font-family: Arial, Helvetica, sans-serif;"></span>
<span style="font-family: Arial, Helvetica, sans-serif;">2.OtherActivity.java函數處理a參數後,將c參數傳入回來給a頁面. 在b頁面的onCreate裡面處理</span>
<span style="font-family: Arial, Helvetica, sans-serif;"></span><pre name="code" class="html"> <pre name="code" class="html">@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stub Intent intent = getIntent(); String a = intent.getStringExtra("a"); String c; if(a=="true"){ c = "It is True"; }else{ c = "It is false"; } Intent newIntent = new Intent();newIntent.putExtra("c", c);setResult(2,intent);finish();}});
android意圖傳參返回結果(六)