をYESこれはABSでありますまあまあ。あなたは、あなたのFragment
がActivity
に添付されていることを確認していない場合にも、Interface
を使用してLocalBroadcastManager
ようEventBus
を使用して、またはIntent
で新しいActivity
を開始することでこれを達成することができますし、flag
のいくつかのフォームが渡され、これを使用することができますそのextras
バンドルなどにここ
インターフェイスを使用に関する例である:インターフェイス(EventListener
)に
追加機能sendDataToActivity()。
//EventListener.java
public interface EventListener {
public void sendDataToActivity(String data);
}
2.あなたMainActivity
でこの機能を実装します。
// MainActivity.java
public class MainActivity extends AppCompatActivity implements EventListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public void sendDataToActivity(String data) {
Log.i("MainActivity", "sendDataToActivity: " + data);
}
}
Activity
にMyFragment
とattach
でそれをリスナーを作成します。
4.最後に、listener.sendDataToActivity("Hello World!")
を使用して関数を呼び出します。
// MyFragment.java
public class MyFragment extends Fragment {
private EventListener listener;
@Override
public void onAttach(Activity activity)
{
super.onAttach(activity);
if(activity instanceof EventListener) {
listener = (EventListener)activity;
} else {
// Throw an error!
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_my, container, false);
// Send data
listener.sendDataToActivity("Hello World!");
return view;
}
@Override
public void onDetach() {
super.onDetach();
listener = null;
}
}
これは〜
出典
2017-05-03 16:07:41
FAT
興味深い....がはるかにきれいに見える役立つことを願っています...私はそれを働かせることができる場合、私はこれを試してみるよ – Arn