从基本活动中调用抽屉片段中的方法

时间:2014-05-19 11:08:21

标签: android android-fragments actionbarsherlock

我需要从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);

但两者都返回空指针异常。所以我猜它没有看到片段?但它汇编起来,所以我现在真的很困惑。

2 个答案:

答案 0 :(得分:0)

了解如何:

关键是全局声明片段并在onCreate中实例化它。

答案 1 :(得分:0)

将Drawer Fragment方法声明为public:

对于Eg:

public void flipMethodLeft(float scrollProgressPercent)

从活动中调用此抽屉片段:

 CardsFragment cf = new CardsFragment();
 cf.flipMethodLeft(80.00f);