2011-01-26 55 views
1

我有一個與我的應用程序一起進入網站的異步任務,從API抓取結果並將大量可單擊的文本視圖附加到現有的LinearLayout。在活動之外啓動一個意圖

但是我希望能夠在單擊textview時啓動新的活動。這對於在單獨文件中定義的異步類來說是不可能的,將它定義爲活動內的內聯類會更容易些嗎?

回答

3

您可以隨時將上下文傳遞給您的異步類。

更好的方法是在調用類中爲回調的異步回調(偵聽器)。

+0

這可能是解決問題的最佳方案。然而,我在作業中欺騙了一些人,並把這個班加了進來。 – purserj 2011-01-31 00:54:06

1

一種方法是從聲明onClick屬性的XML文件中爲您的TextView充氣,並命名您的Activity中定義的方法。

0

不要將上下文用作活動!無論如何,你可能會收到一個投射錯誤。取而代之的是,你可以通過活動作爲函數的參數,就像這樣:

public void function(Activity act) 
{ 
    Intent intent = new Intent(act, newActivity.class); 
    act.startActivity(intent); 
} 

或過載的構造函數接受活動作爲參數。但我強烈建議你檢查你的代碼。如果你打電話給一個活動,你可能應該在另一個範圍內,你不同意嗎?但是,我知道有時我們必須作出一些讓步,才能使事情正常工作。所以,明智地使用它。