android,兩個活動頁面之間的跳轉


  1. public class Intent1Activity extends Activity {  
  2. private Button btn = null;  
  3. private TextView tv = null;  
  4. //還是用個變量比較好,原因在於你這個頁面可能有兩個button都是轉到別的頁面  
  5. //回調的時候你必須要根據這個來判斷的,直接寫數字別人不易理解  
  6. private final int REQUEST_CODE = 1;  
  7. @Override  
  8. protected void onCreate(Bundle savedInstanceState) {  
  9. super.onCreate(savedInstanceState);  
  10. setContentView(R.layout.intent1);  
  11. tv=(TextView)findViewById(R.id.intent1textview);  
  12. btn = (Button)findViewById(R.id.intent1button);  
  13. //設置單擊事件  
  14. btn.setOnClickListener(new OnClickListener() {  
  15.         @Override  
  16.         public void onClick(View v) {  
  17.            Intent intent = new Intent();  
  18.               //intent.setClass(Context context, Class<?> clazz);  
  19. //第一個參數指的就是要跳轉的那個Activity  
  20. //第二個指的是跳到的那個Activity  
  21.         intent.setClass(Intent1Activity.this,   
  22. Intent2Activity.class);  
  23.         intent.putExtra("str1""hello...");  
  24.         intent.putExtra("str2""world...");  
  25.         //如果要傳一個對象呢?intent.pputExtra(String name,   
  26. Serializable value);  
  27.         //startActivity(intent);//這個是如果沒有回調的時候直接這樣就好  
  28.         //如果我們希望下一個Activity回傳參數咋辦呢?上面的就不行了  
  29.         startActivityForResult(intent, REQUEST_CODE);  
  30.        }  
  31. });  
  32. }  
  33. //如果沒有回調也不用重寫這個方法  
  34. @Override  
  35. protected void onActivityResult(int requestCode,  
  36.            int resultCode, Intent data) {  
  37. //第一個指的是這個頁面的requestcode  
  38. //第二個是Intent2Activity里面的requestcode  
  39. if(requestCode != REQUEST_CODE){  
  40. tv.setText("wrong");  
  41. }  
  42. if(resultCode != new Intent2Activity().REQUEST_CODE){  
  43. tv.setText("wrong");  
  44. }  
  45. String result = data.getExtras().getString("str3");  
  46. tv.setText(result);  
  47. }  
  48. }  
  49. public class Intent2Activity extends Activity {  
  50. private Button btn = null;  
  51. private TextView tv = null;  
  52. protected final int REQUEST_CODE = 1;  
  53. @Override  
  54. protected void onCreate(Bundle savedInstanceState) {  
  55. super.onCreate(savedInstanceState);  
  56.      setContentView(R.layout.intent2);  
  57.      tv = (TextView)findViewById(R.id.intent2textview);  
  58.      btn = (Button)findViewById(R.id.intent2button);  
  59.      Intent intent = this.getIntent();  
  60.      Bundle bundle = intent.getExtras();  
  61.      String str1 = bundle.getString("str1");  
  62.      String str2 = bundle.getString("str2");  
  63.           
  64.      tv.setText(str1+"\t"+str2);  
  65.      btn.setOnClickListener(new OnClickListener() {  
  66.          @Override  
  67.          public void onClick(View v) {  
  68.              Intent intent = new Intent();  
  69.              intent.putExtra("str3""Back Data");  
  70.              setResult(REQUEST_CODE, intent);  
  71.              finish();  
  72. //調用這個方法,那么此Activity關閉,並把它從棧中移除。  
  73. //然后進入到前一個Activity  
  74.     }  
  75. });  
  76. }  
  77. }  

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM