2

我为我的片段使用数组适配器,并且在项目单击操作上应该启动该片段

Fragment f = (Fragment) parent.getItemAtPosition(position);
if (f instanceof MyFragment) {
    newContent = new MyFragment();
}

if 子句总是错误的,我不知道为什么

有问题吗?

4

2 回答 2

4

像这样试试

Object f = Class.forName(ApplicationSession.getInstance().getAppPackage() + "." +parent.getItemAtPosition(position)).newInstance();

if (f instanceof MyFragment) {
    newContent = new MyFragment();
}
于 2013-07-31T14:04:54.003 回答
2

您从 Objet 转换为Fragment,因此 f 成为Fragment... 的实例 keerthana 为您提供了一个解决方案,该解决方案将始终为您提供一个MyFragment实例。

尽量不要做任何演员。

Object f = parent.getItemAtPosition(position);
if (f instanceof MyFragment) {
    newContent = new MyFragment();
}
于 2013-07-31T14:09:00.880 回答