- public class Intent1Activity extends Activity {
- private Button btn = null;
- private TextView tv = null;
- //還是用個變量比較好,原因在於你這個頁面可能有兩個button都是轉到別的頁面
- //回調的時候你必須要根據這個來判斷的,直接寫數字別人不易理解
- private final int REQUEST_CODE = 1;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.intent1);
- tv=(TextView)findViewById(R.id.intent1textview);
- btn = (Button)findViewById(R.id.intent1button);
- //設置單擊事件
- btn.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- Intent intent = new Intent();
- //intent.setClass(Context context, Class<?> clazz);
- //第一個參數指的就是要跳轉的那個Activity
- //第二個指的是跳到的那個Activity
- intent.setClass(Intent1Activity.this,
- Intent2Activity.class);
- intent.putExtra("str1", "hello...");
- intent.putExtra("str2", "world...");
- //如果要傳一個對象呢?intent.pputExtra(String name,
- Serializable value);
- //startActivity(intent);//這個是如果沒有回調的時候直接這樣就好
- //如果我們希望下一個Activity回傳參數咋辦呢?上面的就不行了
- startActivityForResult(intent, REQUEST_CODE);
- }
- });
- }
- //如果沒有回調也不用重寫這個方法
- @Override
- protected void onActivityResult(int requestCode,
- int resultCode, Intent data) {
- //第一個指的是這個頁面的requestcode
- //第二個是Intent2Activity里面的requestcode
- if(requestCode != REQUEST_CODE){
- tv.setText("wrong");
- }
- if(resultCode != new Intent2Activity().REQUEST_CODE){
- tv.setText("wrong");
- }
- String result = data.getExtras().getString("str3");
- tv.setText(result);
- }
- }
- public class Intent2Activity extends Activity {
- private Button btn = null;
- private TextView tv = null;
- protected final int REQUEST_CODE = 1;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.intent2);
- tv = (TextView)findViewById(R.id.intent2textview);
- btn = (Button)findViewById(R.id.intent2button);
- Intent intent = this.getIntent();
- Bundle bundle = intent.getExtras();
- String str1 = bundle.getString("str1");
- String str2 = bundle.getString("str2");
- tv.setText(str1+"\t"+str2);
- btn.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- Intent intent = new Intent();
- intent.putExtra("str3", "Back Data");
- setResult(REQUEST_CODE, intent);
- finish();
- //調用這個方法,那么此Activity關閉,並把它從棧中移除。
- //然后進入到前一個Activity
- }
- });
- }
- }
<li class="alt"><span><span class="keyword">public</span><span> </span><span class="keyword">class</span><span> Intent1Activity </span><span class="keyword">extends</span><span> Activity { </span></span></li><li class=""><span><span class="keyword">private</span><span> Button btn = </span><span class="keyword">null</span><span>; </span></span></li><li class="alt"><span><span class="keyword">private</span><span> TextView tv = </span><span class="keyword">null</span><span>; </span></span></li><li class=""><span><span class="comment">//還是用個變量比較好,原因在於你這個頁面可能有兩個button都是轉到別的頁面</span><span> </span></span></li><li class="alt"><span><span class="comment">//回調的時候你必須要根據這個來判斷的,直接寫數字別人不易理解</span><span> </span></span></li><li class=""><span><span class="keyword">private</span><span> </span><span class="keyword">final</span><span> </span><span class="keyword">int</span><span> REQUEST_CODE = </span><span class="number">1</span><span>; </span></span></li><li class="alt"><span><span class="annotation">@Override</span><span> </span></span></li><li class=""><span><span class="keyword">protected</span><span> </span><span class="keyword">void</span><span> onCreate(Bundle savedInstanceState) { </span></span></li><li class="alt"><span><span class="keyword">super</span><span>.onCreate(savedInstanceState); </span></span></li><li class=""><span>setContentView(R.layout.intent1); </span></li><li class="alt"><span>tv=(TextView)findViewById(R.id.intent1textview); </span></li><li class=""><span>btn = (Button)findViewById(R.id.intent1button); </span></li><li class="alt"><span><span class="comment">//設置單擊事件</span><span> </span></span></li><li class=""><span>btn.setOnClickListener(<span class="keyword">new</span><span> OnClickListener() { </span></span></li><li class="alt"><span> <span class="annotation">@Override</span><span> </span></span></li><li class=""><span> <span class="keyword">public</span><span> </span><span class="keyword">void</span><span> onClick(View v) { </span></span></li><li class="alt"><span> Intent intent = <span class="keyword">new</span><span> Intent(); </span></span></li><li class=""><span> <span class="comment">//intent.setClass(Context context, Class<?> clazz);</span><span> </span></span></li><li class="alt"><span><span class="comment">//第一個參數指的就是要跳轉的那個Activity</span><span> </span></span></li><li class=""><span><span class="comment">//第二個指的是跳到的那個Activity</span><span> </span></span></li><li class="alt"><span> intent.setClass(Intent1Activity.<span class="keyword">this</span><span>, </span></span></li><li class=""><span>Intent2Activity.<span class="keyword">class</span><span>); </span></span></li><li class="alt"><span> intent.putExtra(<span class="string">"str1"</span><span>, </span><span class="string">"hello..."</span><span>); </span></span></li><li class=""><span> intent.putExtra(<span class="string">"str2"</span><span>, </span><span class="string">"world..."</span><span>); </span></span></li><li class="alt"><span> <span class="comment">//如果要傳一個對象呢?intent.pputExtra(String name, </span><span> </span></span></li><li class=""><span>Serializable value); </span></li><li class="alt"><span> <span class="comment">//startActivity(intent);//這個是如果沒有回調的時候直接這樣就好</span><span> </span></span></li><li class=""><span> <span class="comment">//如果我們希望下一個Activity回傳參數咋辦呢?上面的就不行了</span><span> </span></span></li><li class="alt"><span> startActivityForResult(intent, REQUEST_CODE); </span></li><li class=""><span> } </span></li><li class="alt"><span>}); </span></li><li class=""><span>} </span></li><li class="alt"><span><span class="comment">//如果沒有回調也不用重寫這個方法</span><span> </span></span></li><li class=""><span><span class="annotation">@Override</span><span> </span></span></li><li class="alt"><span><span class="keyword">protected</span><span> </span><span class="keyword">void</span><span> onActivityResult(</span><span class="keyword">int</span><span> requestCode, </span></span></li><li class=""><span> <span class="keyword">int</span><span> resultCode, Intent data) { </span></span></li><li class="alt"><span><span class="comment">//第一個指的是這個頁面的requestcode</span><span> </span></span></li><li class=""><span><span class="comment">//第二個是Intent2Activity里面的requestcode</span><span> </span></span></li><li class="alt"><span><span class="keyword">if</span><span>(requestCode != REQUEST_CODE){ </span></span></li><li class=""><span>tv.setText(<span class="string">"wrong"</span><span>); </span></span></li><li class="alt"><span>} </span></li><li class=""><span><span class="keyword">if</span><span>(resultCode != </span><span class="keyword">new</span><span> Intent2Activity().REQUEST_CODE){ </span></span></li><li class="alt"><span>tv.setText(<span class="string">"wrong"</span><span>); </span></span></li><li class=""><span>} </span></li><li class="alt"><span>String result = data.getExtras().getString(<span class="string">"str3"</span><span>); </span></span></li><li class=""><span>tv.setText(result); </span></li><li class="alt"><span>} </span></li><li class=""><span>} </span></li><li class="alt"><span><span class="keyword">public</span><span> </span><span class="keyword">class</span><span> Intent2Activity </span><span class="keyword">extends</span><span> Activity { </span></span></li><li class=""><span><span class="keyword">private</span><span> Button btn = </span><span class="keyword">null</span><span>; </span></span></li><li class="alt"><span><span class="keyword">private</span><span> TextView tv = </span><span class="keyword">null</span><span>; </span></span></li><li class=""><span><span class="keyword">protected</span><span> </span><span class="keyword">final</span><span> </span><span class="keyword">int</span><span> REQUEST_CODE = </span><span class="number">1</span><span>; </span></span></li><li class="alt"><span><span class="annotation">@Override</span><span> </span></span></li><li class=""><span><span class="keyword">protected</span><span> </span><span class="keyword">void</span><span> onCreate(Bundle savedInstanceState) { </span></span></li><li class="alt"><span><span class="keyword">super</span><span>.onCreate(savedInstanceState); </span></span></li><li class=""><span> setContentView(R.layout.intent2); </span></li><li class="alt"><span> tv = (TextView)findViewById(R.id.intent2textview); </span></li><li class=""><span> btn = (Button)findViewById(R.id.intent2button); </span></li><li class="alt"><span> Intent intent = <span class="keyword">this</span><span>.getIntent(); </span></span></li><li class=""><span> Bundle bundle = intent.getExtras(); </span></li><li class="alt"><span> String str1 = bundle.getString(<span class="string">"str1"</span><span>); </span></span></li><li class=""><span> String str2 = bundle.getString(<span class="string">"str2"</span><span>); </span></span></li><li class="alt"><span> </span></li><li class=""><span> tv.setText(str1+<span class="string">"\t"</span><span>+str2); </span></span></li><li class="alt"><span> btn.setOnClickListener(<span class="keyword">new</span><span> OnClickListener() { </span></span></li><li class=""><span> <span class="annotation">@Override</span><span> </span></span></li><li class="alt"><span> <span class="keyword">public</span><span> </span><span class="keyword">void</span><span> onClick(View v) { </span></span></li><li class=""><span> Intent intent = <span class="keyword">new</span><span> Intent(); </span></span></li><li class="alt"><span> intent.putExtra(<span class="string">"str3"</span><span>, </span><span class="string">"Back Data"</span><span>); </span></span></li><li class=""><span> setResult(REQUEST_CODE, intent); </span></li><li class="alt"><span> finish(); </span></li><li class=""><span><span class="comment">//調用這個方法,那么此Activity關閉,並把它從棧中移除。</span><span> </span></span></li><li class="alt"><span><span class="comment">//然后進入到前一個Activity</span><span> </span></span></li><li class=""><span> } </span></li><li class="alt"><span>}); </span></li><li class=""><span>} </span></li><li class="alt"><span>} </span></li>