1. 程式人生 > >Android中的Handler+使用Intent進行Activity間的跳轉

Android中的Handler+使用Intent進行Activity間的跳轉

            這學期選修了移動應用開發課程,開始學習Android應用開發了,雖然沒有打算畢業以後就做一個Android程式設計師,但是很享受學習安卓開發的過程。除了JavaEE中使用Java以外,Android中又使用Java,感覺Java真的是我在工程中應用最多的語言了。

           這篇部落格記錄一個自己在開發校園網自動登入系統時候遇到的問題,涉及到了安卓應用開發中的兩個問題:1.Android非同步處理機制。 2.意圖(Intent)啟用activity進行activity間的跳轉。也涉及到Class.this與this的區別的問題。

            我要實現的功能是校園網登出,登出之後重新跳轉到登入activity中去。因為我使用了Handler訊息機制進行UI更新,所以在ShowActivity(ShowActivity要跳轉到

MainActivity去)中寫下了如下的程式碼:

       Handler  handler = new Handler(){
		public void handleMessage(android.os.Message msg){
            switch (msg.arg1) {
               case 0 : textView.setText("登出失敗");     break;
               case 1 : 
            	   Intent intent = new Intent(<strong>this</strong>,MainActivity.class);
            	   startActivity(intent);
            	   break;
			   default:break;
			}
		}
	};
但是this報錯,因為在this表示的是內部類new Handler()之中,而要實現跳轉,this應該指代的是ShowActivity這個類。

修改後:

Handler  handler = new Handler(){
		public void handleMessage(android.os.Message msg){
            switch (msg.arg1) {
               case 0 : textView.setText("登出失敗");     break;
               case 1 : 
            	   //ShowActivity.this 太令人驚喜了
            	   Intent intent = new Intent(ShowActivity.this,MainActivity.class);
            	   startActivity(intent);
            	   break;
			   default:break;
			}
		}
	};
這裡涉及到一個Class.this知識點.