Вы можете отправить широковещательную рассылку с данными об активности по методу нажатия кнопки «Сохранить» и получить эту широковещательную рассылку фрагментом, а также получить данные из намерения широковещательной передачи и показать их в представлении.
Редактировать. Ниже приведен пример отправки и получения трансляции.
Во-первых, в ProfileFragment. java, создайте класс трансляции как:
public class MyBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if(intent.getAction().equals("my_broadcast")){
final TextView username = (TextView) view.findViewById(R.id.profile_username);
username.setText(intent.getStringExtra("name"));
}
}
}
и создайте инстанс на уровне класса MyBroadcastReceiver
как
MyBroadcastReceiver myReceiver = new MyBroadcastReceiver();
, а также добавьте этот код
@Override
public void onResume() {
super.onResume();
getActivity().registerReceiver(myReceiver, new IntentFilter("my_broadcast"));
}
@Override
public void onPause() {
super.onPause();
getActivity().unregisterReceiver(myReceiver);
}
И, наконец, вы должны отправлять трансляцию, когда хотите обновить текст. Итак, в вашем AccountActivity.java
классе обновите метод click до
save.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent broadcastIntent = new Intent();
broadcastIntent.setAction("my_broadcast");
broadcastIntent.putExtra("name", editText.getText().toString());
sendBroadcast(broadcastIntent);
}
});
Надеюсь, это поможет. Удачи!