0
1つのアクティビティに4つのフラグメントがあります。今では、アクティビティからすべてのフラグメントにデータを送信します。インターフェイスを介して私は1つだけの断片を通信することができます、アドバイスをどうすればこれを達成することができます。アクティビティから複数のフラグメントへの通信
1つのアクティビティに4つのフラグメントがあります。今では、アクティビティからすべてのフラグメントにデータを送信します。インターフェイスを介して私は1つだけの断片を通信することができます、アドバイスをどうすればこれを達成することができます。アクティビティから複数のフラグメントへの通信
interface
を使用して、アクティビティからフラグメントにデータを送信することができます。
1.アクティビティからフラグメントFragmentCommunicator.java
にデータを渡すために使用されるインタフェースを作成します。
public interface FragmentCommunicator{
public void passDataToFragment(Object data);
}
2フラグメントExampleFragment.java
という名前を定義します。
public class ExampleFragment extends Fragments implements FragmentCommunicator{
//as per Android Fragment documentation an empty constructor
public ExampleFragment(){
}
public static ExampleFragment newInstance(){
return new ExampleFragment();
}
...
//FragmentCommunicator interface implementation
@Override
public void passDataToFragment(Object data) {
//you will get data here from activity, here we used data to set textview.
textView.setText((String)data);
}
}
3.助け活動からの送信データExampleActivity.java
public class ExampleActivity extends AppCompatActivity {
public FragmentCommunicator fragmentCommunicator;
...
public void sendDataToFragment(Fragment fragment, Object data){
if (fragment instanceof FragmentCommunicator) {
fragmentCommunicator = (FragmentCommunicator) fragment;
fragmentCommunicator.passDataToFragment(data)
}
}
}
願っています!
すべてのフラグメントがアクティビティ内の変数にアクセスできるようにしますか? – MichaelStoddart
共有設定が役立ちます。 –
@MichaelStoddartはい – deep