簡體   English   中英

在兩個片段之間進行通信

[英]Communicating between two fragments

我有兩個擴展Fragment的類,兩個都在同一個Activity中,我想在另一個片段類中按下按鈕時在一個片段類中觸發一個方法,我知道這可以使用接口或意圖來完成。我這樣做的代碼示例。 提前致謝

:D

在此示例中, FragmentA調用通知。

INotifier

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

實用程序

public class Utils {
    public static INotifier notifier;
}

片段A

public FragmentA extends Fragment {

   public void onCreateView(...) {

   }

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

片段B

public FragmentB extends Fragment implements INotifier {

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

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

我不知道為什么有些程序員使它變得如此復雜。 據我對您的問題的理解,您想做的是在fragment1中有一個按鈕,當您單擊它時,fragment2的textView將更改。

只需在fragment1中調用該按鈕的onClick,然后在該onClick方法內,調用並對fragment2的textView做任何您想做的事情。

textView.setText("Hello");

在FragmentA中,您可以調用:

setTargetFragment(Fragment FragmentA)

在FragmentB中調用:

getTargetFragment();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM