我正在尝试将值传递给容器活动中的片段。
我试图这样做:
我在Activity中有这个方法。
public int showMode(){return Mode;}
片段中的这个方法:
public int getModeFromActivity(){
int i;
i = getActivity().showMode;
return i;
但是它给了我片段方法中的错误: showMode无法解析或不是字段
任何人都可以帮我解决这个问题吗?谢谢!
答案 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;
}