-1

我有两个扩展Fragment的类。两个都在同一个Activity中。我想在一个片段类中触发一个方法,而在另一个片段类中按下一个按钮。我知道这可以通过使用接口或意图。任何人都可以为我提供一个代码示例。 预先感谢在两个片段之间进行通信

回答

4

:d

在这个例子中,FragmentA呼叫通知。

INotifier

public interface INotifier { 
    public void notify(Object data); 
} 

的Utils

public class Utils { 
    public static INotifier notifier; 
} 

FragmentA

public FragmentA extends Fragment { 

    public void onCreateView(...) { 

    } 

    public void inSomeMethod() { 
     if (Utils.notifier != null) { 
      Utils.notifier.notify(data); 
     } 
    } 
} 

个FragmentB

public FragmentB extends Fragment implements INotifier { 

    public void onCreateView(...) { 
     Utils.notifier = this; 
    } 

    @Override 
    public void notify(Object data) { 
     // handle data 
    } 
} 
+0

完美!最佳答案: –

+0

谢谢kiu anh:D – dungtv

0

我不知道为什么有些程序员做起来很复杂。正如我在你的问题中所理解的那样,你想要做的就像在fragment1中有一个按钮,当你点击它时,fragment2的textView将会改变。

只需在fragment1中调用该按钮的onClick并在该onClick方法内调用,然后对fragment2的textView执行任何您喜欢的操作。

textView.setText("Hello"); 
0

在FragmentA你可以打电话:

setTargetFragment(Fragment FragmentA) 

在FragmentB呼吁:

getTargetFragment(); 
相关问题