2

フラグメントに配列アダプターを使用しており、アイテムクリックアクションでそのフラグメントを開始する必要があります

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

if 句は常に false で、その理由がわかりません

問題はありますか?

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 に答える