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();


上一篇:
下一篇:
切换中文