public interface OnDataPass {
void onDataPass(String data);
}
public class MainActivity extends AppCompatActivity implements OnDataPass {
// ...
@Override
public void onDataPass(String data) {
Log.d(TAG, "Received data from Fragment: " + data);
}
}
public class MyFragment extends Fragment {
private OnDataPass onDataPass;
@Override
public void onAttach(@NonNull Context context) {
super.onAttach(context);
onDataPass = (OnDataPass) context;
}
public void sendDataToActivity(String data) {
onDataPass.onDataPass(data);
}
}
Bundle bundle = new Bundle();
bundle.putString("data", "Hello from Fragment");
MyFragment fragment = new MyFragment();
fragment.setArguments(bundle);
Bundle bundle = getArguments();
if (bundle != null) {
String data = bundle.getString("data");
Log.d(TAG, "Received data from Activity: " + data);
}
((MainActivity) getActivity()).setData("Hello from Fragment");
public void setData(String data) {
Log.d(TAG, "Received data from Fragment: " + data);
}
<activity
android:name=".MainActivity"
android:parentActivityName=".ParentActivity" >
</activity>
<fragment
android:id="@+id/myFragment"
android:name="com.example.MyFragment"
android:layout_width="match_parent"
android:layout_height="match_parent" />
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.fragment_container, new MyFragment());
fragmentTransaction.commit();