[英]How to call function containing intent (in Activity A) from Activity B
當按下后退按鈕時,我正在從活動中調用函數(存在於片段中)
public void onBackPressed() {
new Home().show(Home.home_list,app.this);
}
家是應用程序活動的一部分
在顯示功能中,我正在調用意圖
public void show(final ArrayList<tile_data> data, final Activity activity) {
startActivity(new Intent(activity, Chat_topic_layout_for_user_group.class)
}
這樣做會給我錯誤:java.lang.IllegalStateException:片段Home {5deabab}未附加到Activity
我的結論是該應用程序將show作為函數使用,因此它不了解家庭。
所以我的問題是如何在某個活動的某個功能中調用存在的“意圖”,或者從其他活動中調用一個片段?
看起來startActivity
沒有在正確的范圍內被調用。 嘗試指定范圍並像這樣調用它: activity.startActivity(new Intent(activity, Chat_topic_layout_for_user_group.class)
public void show(final ArrayList<tile_data> data, final Activity activity) {
activity.startActivity(new Intent(activity, Chat_topic_layout_for_user_group.class));
}
為什么不將Show()
函數移到Activity
呢? 對於標題,在Home fragment
getTitles()
創建一個getter函數。 現在,當事件發生時,直接在傳遞(*HomeFragment*.getTitle() , *Activity*.this)
的活動中觸發Show()
函數。 您的標題是static
嗎? 因為您直接調用new Home()
。 在這種情況下,在活動中調用Show()
函數不會有任何問題。 如果不符合要求,您可以詳細解釋您的要求。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.