簡體   English   中英

在活動之外啟動意圖

[英]Launching an Intent outside an activity

我的應用程序有一個asynch任務進入一個網站,從API中獲取結果並將一些可點擊的文本視圖附加到現有的LinearLayout。

但是,我希望能夠在單擊textview時啟動新活動。 對於在單獨文件中定義的asynch類,這是不可能的,是否更容易將其定義為活動中的內聯類?

您始終可以將Context傳遞給異步類。

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

一種方法是從聲明onClick屬性的XML文件中擴展TextView,命名在Activity中定義的方法。

不要將上下文用作活動! 無論如何,您可能會收到施法錯誤。 相反,您可以將活動作為函數參數傳遞,如下所示:

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

或者重載構造函數以將活動作為參數接受。 但我強烈建議你查一下代碼。 如果你正在召集一項活動,你可能應該在另一項活動中,你不同意嗎? 但是,我知道有時我們必須做出一些讓步,以使事情正常運作。 所以,明智地使用它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM