https://www.journaldev.com/9266/android-fragment-lifecycle#comment-39628
我按照上面的链接在我的Android应用程序中开发片段但是如果这个错误得到解决,iam会在这个特定的片段中被攻击,应用程序将正常工作 你能让我知道我哪里出错吗
在我使用getSupportFragmentManager()
时添加了第二张图片,让每个人都清楚iam面临错误查看此截图
答案 0 :(得分:3)
有两种不同类型的碎片:
import android.app.Fragment;
import android.support.v4.app.Fragment;
您必须使用相应的FragmentManager
。
getFragmentManager()
或getSupportFragmentManager()
。
答案 1 :(得分:0)
您正在使用支持库。 TextFragment的引用类是tools_r25.2.3,而不是android.support.v4.app.fragment
您需要使用
getSupportFragmentManager().findFragmentById(id);
祝你好运
埃姆雷
答案 2 :(得分:0)
问题似乎是您正在使用getFrgamentManager(),但正如您在顶部的导入中看到的那样,您使用至少一个支持库,这意味着您的TextFragment可以扩展android.support.v4.app。片段类。
这意味着要使它工作,你需要调用supportFragmentManager而不是常规的FragmentManager。
您可以通过更改:
来完成此操作TextFragment txt = (TextFragment) getFragmentManager().findFragmentById(R.id.fragment2);
是:
TextFragment txt = (TextFragment) getSupportFragmentManager().findFragmentById(R.id.fragment2);
使用片段时,请确保顶部的导入符合您的预期。使用android.support.v4.app.Fragment时,需要使用supportFragmentManager。
编辑:
在您的编辑和屏幕截图显示时,您无法在ListFragment中调用getSupportFragmentManager()。这意味着您需要这样做:
getActivity().getSupportFragmentManager()
答案 3 :(得分:0)
可以从两个包android.app.Fragment
和android.support.v4.app.Fragment
导入片段,因此我在TextFragment
和MenuFragment
之间导入类错配。
所以在MenuFragment
导入android.support.v4.app.ListFragment
带
导入android.app.ListFragment
因为可能有classCastEception