从内部片段调用活动方法

时间:2012-02-20 16:57:36

标签: android android-fragments

我正在尝试将值传递给容器活动中的片段。

我试图这样做:

我在Activity中有这个方法。

public int showMode(){return Mode;} 

片段中的这个方法:

public int getModeFromActivity(){
    int i;
    i = getActivity().showMode;
        return i;

但是它给了我片段方法中的错误: showMode无法解析或不是字段

任何人都可以帮我解决这个问题吗?谢谢!

1 个答案:

答案 0 :(得分:2)

你的做法是错误的。

以下是在Android中完成此工作的两种方法。

1。)在片段中定义integer mode。将Fragment的构造函数更改为

FragmentName(int mode){
    this.mode = mode;
}

因此,您可以在Activity中读取mode变量,并在创建它时将其传递给Fragment。

2.。)另一种方式是接口,所以你的Fragment知道它的Parent Activity实现了你的方法!所以你必须将片段改为这样的

InterfaceName mInterface;
FragmentName(MyInterfaceName interface){
    mInterface = interface;
}

public int getModeFromActivity(){
int i;
i = mInterface.showMode();
    return i;
}