当我创建时,我需要从另一个活动中删除一个片段,而不是创建它的活动:
public FragmentManager fragmentManager = getSupportFragmentManager();
AlarmFragment frag = new AlarmFragment();
frag.setAlarmNumber(getAlarmsAmount());
getListaDeAlarmas().add(getAlarmsAmount(), frag);
fragmentManager.beginTransaction().add(R.id.alarmListContainer, getListaDeAlarmas().get(alarmsAmount), "Alarm" + String.valueOf(getAlarmsAmount())).commit();
然后我可以从片段中访问另一个活动,假设片段中有一个按钮可以打开另一个活动,现在,停留在该活动中我想删除启动该活动的片段,我得到该片段的参考号通过意图。所以我尝试:
btDelete.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
getFragmentManager().beginTransaction().remove(getFragmentManager().findFragmentByTag("Alarm" + String.valueOf(alarmNumber))).commit();
}
});
但它给了我一个nullPointerException,
03-07 22:42:33.270 30993-30993/河马。rggmiranda。hiposleep E/AndroidRuntime:致命异常:主java。android上的lang.NullPointerException。应用程序。回溯记录。在android上运行(backbackrecord.java:651)。应用程序。碎片管理。android上的ExependingActions(FragmentManager.java:1435)。应用程序。FragmentManagerImpl 1美元。在android上运行(FragmentManager.java:441)。操作系统。处理程序。android上的handleCallback(Handler.java:725)。操作系统。处理程序。android上的dispatchMessage(Handler.java:92)。操作系统。活套。android上的loop(Looper.java:137)。应用程序。活动线程。java上的main(ActivityThread.java:5185)。郎。反思。方法java上的InvokEnable(本机方法)。郎。反思。方法在com上调用(Method.java:511)。Android内部的操作系统。ZygoteInit$MethodandArgscaler。在com上运行(ZygoteInit.java:797)。Android内部的操作系统。合子岩。dalvik的main(ZygoteInit.java:564)。系统国家艺术。主(本机方法)
我真的很感激任何帮助!
你可以这样做:
btDelete.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Fragment fragment = getSupportFragmentManager().findFragmentByTag("Alarm" + String.valueOf(alarmNumber)));
if(fragment != null) getSupportFragmentManager().beginTransaction().remove(fragment).commit();
}
如果有效,请告诉我。
顺便问一下,您是否调试了这一行:"警报"String.valueOf(alarmNumber))
来验证它是FragmentTag
?
如果我的答案不起作用,试试这个。
我有3个活动A、B和C。A导致B,B导致C。我希望能够在A和B之间来回移动,但我希望在C开始后完成A和B。我知道如何在通过意图启动C时关闭B,但在启动C时如何关闭A?
如何从堆栈中弹出特定片段,并从片段中删除其他片段?例如,这些是我的片段,我现在在E right know。 A- 想从E回到B,清除C和D。我怎么能做到这一点?
问题内容: 有人知道如何从其他活动中关闭一个活动吗?例如:我有3个活动(活动A,B和C),并且可以从活动C中关闭活动A。我的活动结构是活动A->活动B->活动C如何从中关闭活动A活动C? 我曾尝试此代码: 但是该代码只能关闭活动B的活动A,而不能直接关闭活动C的活动A。 有谁知道直接从其他活动关闭活动?谢谢.. 问题答案:
我有这个actionlistener添加到一个按钮: 这是jPanel和jbutton的代码: 我怎样才能让它删除jframe的所有组件,除了名为buttonPanel的jpanel?
问题内容: 我想从其他活动中调用主要活动中的公共方法。我怎样才能做到这一点? 问题答案: 这取决于。 在这种情况下,如果您只想使用某些共享功能(例如执行一些计算的代码)。 我建议将此共享功能移至某些独立的类,然后从那里进行调用。 在这种情况下,如果您想调用MainActivity,则MainActivity使用MainActivity UI进行了某些操作,则您必须使用Intent(http://d
好吧,所以我有点困惑该怎么处理这个。因此,我有了主活动,从那里可以启动一个活动到DegreePlan活动,从那里可以启动另一个活动到EditDegreeplan。我已经将EditDegreeplan设置为在Android清单中没有历史记录。问题是在他们保存EditDegreeplan后,它会启动一个活动到Degreeplan。因此,如果用户按下后退键,他们必须按两次才能再次进入主活动。我想摆脱它,