我正在按下后退按钮时从活动中调用一个函数(存在于片段中)
public void onBackPressed() {
new Home().show(Home.home_list,app.this);
}
主页是应用活动的片段
在show function中我调用了一个意图
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:Fragment Home {5deabab}未附加到Activity
我的结论是app正在使用show作为函数,因此它不了解home。
所以我的问题是如何调用&#34;意图&#34;某些活动中的某些功能或其他活动的片段存在?
答案 0 :(得分:0)
看起来没有在正确的范围内调用startActivity
。尝试指定范围并按以下方式调用它:activity.startActivity(new Intent(activity, Chat_topic_layout_for_user_group.class)
答案 1 :(得分:0)
public void show(final ArrayList<tile_data> data, final Activity activity) {
activity.startActivity(new Intent(activity, Chat_topic_layout_for_user_group.class));
}
答案 2 :(得分:0)
为什么不将Show()
功能移到Activity
?对于标题,在Home fragment
,getTitles()
中创建一个getter函数。现在,当事件发生时,直接在传递Show()
的活动中触发(*HomeFragment*.getTitle() , *Activity*.this)
函数。你的头衔是static
吗?因为您直接致电new Home()
。如果是这样的话,那么在活动中调用Show()
函数就不会有任何问题。如果不符合标准,您可以详细解释您的要求。