我需要从fragmentY调用方法methodX,这是来自操作栏sherlock的抽屉,这意味着它不是动态调用的。和methodsX从activityZ。
调用我在fragmentY上设置标签,如下所示:
private static final String TAG = "fragmentY";
我在activityZ上调用了methodX,如下所示:
fragmentY fragment = (fragmentY ) getSupportFragmentManager().findFragmentByTag("fragmentY");
fragment.methodX(arg1, R.drawable.ic_launcher);
我还在id上设置片段如下:
android:id="@+id/fragYid"
然后我在activityZ上调用methodX,如下所示:
fragmentY fragment = (fragmentY ) getSupportFragmentManager().findFragmentById("fragYid");
fragment.methodX(arg1, R.drawable.ic_launcher);
但两者都返回空指针异常。所以我猜它没有看到片段?但它汇编起来,所以我现在真的很困惑。
答案 0 :(得分:0)
了解如何:
关键是全局声明片段并在onCreate中实例化它。
答案 1 :(得分:0)
将Drawer Fragment方法声明为public:
对于Eg:
public void flipMethodLeft(float scrollProgressPercent)
从活动中调用此抽屉片段:
CardsFragment cf = new CardsFragment();
cf.flipMethodLeft(80.00f);