【问题标题】:Calling a public method in a fragment在片段中调用公共方法
【发布时间】:2015-04-24 09:35:18
【问题描述】:

在我的 Android 应用中,片段使用了我编写的库。我需要做的是使用反射让库中的方法访问片段中的方法。我的代码如下所示:

Context c = getContext();

Class[] paramTypes = new Class[2];
paramTypes[0] = int.class;
paramTypes[1] = boolean.class;

java.lang.reflect.Method method = c.getClass().getMethod("someMethod", paramTypes);

method.invoke(c, id, selected);

如果方法“someMethod”被放置在片段类中,它永远不会被调用。但是,如果我将它放在片段所属的活动中,它将被调用。看来 getContext() 方法指的是活动而不是片段类。

我怎样才能让它引用片段类?但是,请记住,我的库可以在任何地方使用,包括活动本身。所以我不想引用片段的上下文,而是引用恰好是使用该库的类的上下文。

【问题讨论】:

    标签: android


    【解决方案1】:

    显然,您不能在 xml 中创建调用片段中单击方法的单击事件。

    见: Android app crashing (fragment and xml onclick)

    【讨论】:

      猜你喜欢
      • 2011-08-16
      • 1970-01-01
      • 2018-12-08
      • 2011-01-30
      • 1970-01-01
      • 1970-01-01
      • 2012-08-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多