我有两个活动,在activityOne中,用户将动态创建textViews,而我希望在同一时间在activityTwo内部动态创建具有相同内容的textViews。例如:在activityOne中,用户将动态创建一个textView“ Groceries”。我希望在activityTwo中同时创建一个具有相同名称的文本视图:“ Groceries”。
您可以这样使用数据存储库类
public class DataRepository {
private static final DataRepository INSTANCE = new DataRepository();
private final MutableLiveData<String> text = new MutableLiveData<>();
public void updateText(String newText){
text.setValue(newText);
}
public MutableLiveData<String> getText() {
return text;
}
public static DataRepository getInstance(){
return INSTANCE;
}
}
然后,您可以使用Observer
like 收听数据更改
DataRepository dataRepository = DataRepository.getInstance();
dataRepository.getText().observe(this, new Observer<String>() {
@Override
public void onChanged(String newText) {
textView.setText(newText);
}
});
凡this
指活动。
要更新文字,只需调用
DataRepository dataRepository = DataRepository.getInstance();
dataRepository.updateText("New text");
从程序中的任何位置。观察者将自动为您更新所有内容。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句