Android如何不在activity中跳轉頁面
最近做項目的時候,發現了一個問題,就是之前跳轉頁面的時候總是在activity中用intent(Activity1.this,Activity2.class)這樣跳轉頁面,可是我最近發現,一旦我們在編寫程序的時候,要創建其他的Java類,比如加監聽,但是又嫌一起寫在Activity中比較的繁瑣,畢竟java是一種面向對象的語言,有時候還要用到線程、還有繼承各種介面、父類,於是我們就會想到,可不可以隨意將跳轉頁面的寫法寫在任意一個類中,使我們的類更加精簡,程序有更大的可操作性。
之前我想到的方法是在我們需要跳轉頁面的類找那個創建一個實例化的對象,如Activity act=new Activity();可是發現程序雖然不報錯,可是無法運行,於是我查閱了很多網上的資料,發現大家用的跳轉頁面,基本上都是在Activity上用intent跳轉頁面,沒有一個在其他類中跳轉頁面的。API中的Activity的構造方法中,要的是Context 的對象。
之後我就去了解了Context這個類,發現這是一個很重要的類,其實Context就是一個「上下文」、「場景」,一個Activity就是一個Context,一個Service也是一個Context。Android程序員把「場景」抽象為Context類,他們認為用戶和操作系統的每一次交互都是一個場景,比如打電話、發簡訊,這些都是一個有界面的場景,還有一些沒有界面的場景,比如後台運行的服務(Service)。一個應用程序可以認為是一個工作環境,用戶在這個環境中會切換到不同的場景,這就像一個前台秘書,她可能需要接待客人,可能要列印文件,還可能要接聽客戶電話,而這些就稱之為不同的場景,前台秘書可以稱之為一個應用程序。
==================================================================================================================================分割線
那麼我們怎麼去在別的類中進行跳轉頁面的操作呢?有兩種方法:
第一種:
比如我們在使用監聽器的時候,將我們需要的Activity.this直接傳過去
ClickListen cll=new ClickListen(this);public ClickListen(EditText name, EditText password,Activity act) { this.act=act;}Intent intent = new Intent(act,SecondActivity.class);act.startActivity(intent);
第二種:
直接獲取我們需要的Context類的對象
Intent intent = new Intent(Activity.getApplication,SecondActivity.class);act.startActivity(intent);
推薦閱讀:
※CPU頻率越高,手機速度就越快嗎?
※韓孝周是幹什麼的?
※cpu是什麼值得買嗎?
※英偉達購買攻略是什麼?
※從模擬電路到計算機軟體