Java 多编辑文本框的textChangedMethod
大家好,我遵循下面的例子 我将CurrencyTextWatcher作为一个单独的类。我需要这个,因为我将申请数页。 我不知道为什么,但是如果我使用setContentView(text)它将只作为一个大文本框工作,那么我就看不到xml的其余部分了。Java 多编辑文本框的textChangedMethod,java,android,Java,Android,大家好,我遵循下面的例子 我将CurrencyTextWatcher作为一个单独的类。我需要这个,因为我将申请数页。 我不知道为什么,但是如果我使用setContentView(text)它将只作为一个大文本框工作,那么我就看不到xml的其余部分了。 如果我使用setContentView(R.layout.main)我的xml工作正常,除了我的txta编辑文本框的TextWatcher不会启动外 爪哇 CurrencyTextWatcher类 public class CurrencyText
如果我使用setContentView(R.layout.main)我的xml工作正常,除了我的txta编辑文本框的TextWatcher不会启动外 爪哇 CurrencyTextWatcher类
public class CurrencyTextWatcher implements TextWatcher {
boolean mEditing;
public CurrencyTextWatcher() {
mEditing = false;
}
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
if(!mEditing) {
mEditing = true;
String digits = s.toString().replaceAll("\\D", "");
NumberFormat nf = NumberFormat.getCurrencyInstance();
try{
String formatted = nf.format(Double.parseDouble(digits)/100);
s.replace(0, s.length(), formatted);
} catch (NumberFormatException nfe) {
s.clear();
}
mEditing = false;
}
}
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub
}
}
XML
您在PostextChanged中实现的代码对ContextChanged实现相同的功能。它会开火并回电话
其次,如果视图中存在问题,请检查布局及其参数。如果不正确,它将不会正确地显示在UI中您在afterTextChanged中实现的代码为ContextChanged实现相同的功能。它会开火并回电话
其次,如果视图中存在问题,请检查布局及其参数。如果不正确,它将无法正确显示在UI中我接受了您的代码。我注意到您在这里共享的代码是从xml获取所有视图。 在这种情况下,你是在打电话
text.addTextChangedListener(new CurrencyTextWatcher());
在onCreate方法中,文本是使用java完成的。您不会因为您的ContextChanged、beforeTextChanged或beforeTextChanged收到回电,因为您的所有视图都来自xml。所以请在你的
initControls();
在onCreate()中,添加以下行
txta.addTextChangedListener(new CurrencyTextWatcher());
和评论
text.addTextChangedListener(new CurrencyTextWatcher());
这条线是不需要的。我已经证实它工作正常
如果works投票并接受答案我接受了你的代码。我注意到您在这里共享的代码是从xml获取所有视图。 在这种情况下,你是在打电话
text.addTextChangedListener(new CurrencyTextWatcher());
在onCreate方法中,文本是使用java完成的。您不会因为您的ContextChanged、beforeTextChanged或beforeTextChanged收到回电,因为您的所有视图都来自xml。所以请在你的
initControls();
在onCreate()中,添加以下行
txta.addTextChangedListener(new CurrencyTextWatcher());
和评论
text.addTextChangedListener(new CurrencyTextWatcher());
这条线是不需要的。我已经证实它工作正常
如果works投票并接受答案您在此处提供的代码很好。但是,如果你能详细说明你的问题,那也没关系,不清楚我不知道如何让txta使用currencytxtwatcher,如果我在它里面放了一个内容视图文本,但是其他所有内容都被屏蔽了。更新了原始问题,以便更清楚我认为是什么问题。添加了xml。谢谢你看。你在这里提供的代码很好。但是,如果你能详细说明你的问题,那也没关系,不清楚我不知道如何让txta使用currencytxtwatcher,如果我在它里面放了一个内容视图文本,但是其他所有内容都被屏蔽了。更新了原始问题,以便更清楚我认为是什么问题。添加了xml。谢谢你看。我在文字中添加了代码,但仍然不起作用。我想不出来。很难想象,我找不到与我正在做的类似的示例,它似乎是contextview,但我在xml中找不到任何错误。就像我在问题中提到的,还有其他人这样做过吗?你知道它可能是什么吗?我在“上文本”中添加了代码,但更改后仍然不起作用。我想不出来。很难想象,我找不到与我正在做的类似的示例,它似乎是contextview,但我在xml中找不到任何错误。就像我在问题中提到的,还有其他人这样做过吗?你知道会是什么吗?阿伦你是个该死的明星!谢谢你花时间给我解释,我现在明白我错过了什么。我真的很欣赏它,它就像一个魅力!对不起,我没有足够高的支持率去投票。阿伦,你是个该死的明星!谢谢你花时间给我解释,我现在明白我错过了什么。我真的很欣赏它,它就像一个魅力!对不起,我没有足够高的支持率来投票。