Android 将文本监视程序设置为编辑另一个片段中的文本
我有两个片段,第一个包含三个编辑文本,第二个包含一些文本视图,这取决于第一个片段中编辑文本的数据,我尝试在第二个片段中实现文本观察程序,以观察第一个片段中编辑文本的变化,以便我可以使用它,但没有成功 我的第二个片段包含文本视图,根据第一个片段中编辑文本的文本显示数据:Android 将文本监视程序设置为编辑另一个片段中的文本,android,android-fragments,android-edittext,Android,Android Fragments,Android Edittext,我有两个片段,第一个包含三个编辑文本,第二个包含一些文本视图,这取决于第一个片段中编辑文本的数据,我尝试在第二个片段中实现文本观察程序,以观察第一个片段中编辑文本的变化,以便我可以使用它,但没有成功 我的第二个片段包含文本视图,根据第一个片段中编辑文本的文本显示数据: @Override public void onActivityCreated(Bundle notUsed) { super.onActivityCreated(notUsed); Ma
@Override
public void onActivityCreated(Bundle notUsed) {
super.onActivityCreated(notUsed);
MainActivity1.text1.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
co1 = Double.valueOf(charSequence.toString());
if(charSequence.length() == 0)
empty1 = true;
else
empty1 = false;
}
@Override
public void afterTextChanged(Editable editable) {
co1 = Double.valueOf(editable.toString());
if(editable.length() == 0)
empty1 = true;
else
empty1 = false;
}
});
MainActivity1.text2.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
co2 = Double.valueOf(charSequence.toString());
if(charSequence.length() == 0)
empty2 = true;
else
empty2 = false;
}
@Override
public void afterTextChanged(Editable editable) {
co2 = Double.valueOf(editable.toString());
if(editable.length() == 0)
empty2 = true;
else
empty2 = false;
}
});
MainActivity1.text3.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
co3 = Double.valueOf(charSequence.toString());
if(charSequence.length() == 0)
empty3 = true;
else
empty3 = false;
}
@Override
public void afterTextChanged(Editable editable) {
co3 = Double.valueOf(editable.toString());
if(editable.length() == 0)
empty3 = true;
else
empty3 = false;
}
});
知道我必须从第一个片段
静态
编辑文本,以便第二个片段能够处理它,我需要在用户更改片段1中编辑文本中的文本时,实时更新片段2中的文本视图,如何使其工作?为什么不使用callback而不是watcher?当用户更改片段一中编辑文本中的文本时,我需要实时更新片段二中的文本视图。您可以使用callback通知第二个片段中编辑文本的更改。在ContextChange方法调用回调中。很抱歉,我的代码片段来自第二个片段…我编辑了我的问题,我尝试从第二个片段调用ContextChanged,但它不起作用。最简单的方法是使用EventBus发布事件(edittext文本已更改)并使用第二个片段中的事件来更新TextView。