在第一個activity中使用
startActivityForResult(intent, state_tag);
啟動第二個activity,在第二個activity中調用 setResult(,)
在第一個activity中重載onActivityResult()
第一個Activity:
public class MainActivity extends Activity { private TextView tv = null; private int state_tag = 1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tv = (TextView)findViewById(R.id.textView); Button button = (Button)findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub Intent i = new Intent(MainActivity.this, SecondActivity.class); Bundle bundle = new Bundle(); bundle.putString("content", tv.getText().toString()); i.putExtra("bundle", bundle); startActivityForResult(i, state_tag); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { // TODO Auto-generated method stub super.onActivityResult(requestCode, resultCode, data); if(requestCode == state_tag) { if(resultCode == RESULT_OK) { Log.i("MainActivity", data.getBundleExtra("bundle2").getString("newContend")); tv.setText(data.getBundleExtra("bundle2").getString("newContend")); } else { Log.i("MainActivity", "in else:"); return; } } } }
第二個activity:
package com.example.intenttest; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; public class SecondActivity extends Activity { private EditText editText = null; private Button okButton = null; private Button cancelButton = null; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity_second); editText = (EditText)findViewById(R.id.editText); okButton = (Button)findViewById(R.id.okButton); cancelButton = (Button)findViewById(R.id.cancelButton); Intent i = getIntent(); editText.setText(i.getBundleExtra("bundle").getString("content")); okButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub Intent i = new Intent(SecondActivity.this, MainActivity.class); Bundle bundle = new Bundle(); bundle.putString("newContent", String.valueOf(editText.getText())); i.putExtra("bundle2", bundle); setResult(RESULT_OK, i); finish(); } }); cancelButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub setResult(RESULT_CANCELED); finish(); } }); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { // TODO Auto-generated method stub super.onActivityResult(requestCode, resultCode, data); } }
另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
網頁題目:Activity之間的交互-創新互聯
分享路徑:http://m.kartarina.com/article20/ccgdco.html
成都網站建設公司_創新互聯,為您提供標簽優化、用戶體驗、電子商務、軟件開發、搜索引擎優化、網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯