【发布时间】:2019-07-16 03:38:00
【问题描述】:
通过以下代码,我可以单击一个按钮将字符串从一个片段(片段 A)发送到 MainActivity。我将如何从 MainActivity 中检索字符串并将其一次性显示在片段 B 上?我希望片段同步运行;在我单击片段 A 中的按钮后立即让片段 B 自行更新。我似乎在 SO 中找不到任何内容。
界面:
public interface OnDataListener {
public void onDataReceived(String data);
}
Fragment A 数据监听器:
OnDataListener mOnDataListener;
@Override
public void onAttach(Context context) {
try{
mOnDataListener = (OnDataListener) context;
Log.d(TAG, "onAttach was called" + context);
}catch (ClassCastException e){
Log.e(TAG, "onAttach: ClassCastException: " + e.getMessage() );
}
super.onAttach(context);
}
Fragment A 的 onCreateView 中的按钮逻辑:
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
String newTextString = editTextView.getText().toString();
mOnDataListener.onDataReceived(newTextString);
}
});
MainActivity 数据接收器
public class MainActivity extends AppCompatActivity implements OnDataListener {
@Override
public void onDataReceived(String data) {
Log.e(TAG, "MainActivity received this string " + data );
}
}
【问题讨论】:
标签: android android-fragments android-viewpager android-button