Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 多编辑文本框的textChangedMethod_Java_Android - Fatal编程技术网

Java 多编辑文本框的textChangedMethod

Java 多编辑文本框的textChangedMethod,java,android,Java,Android,大家好,我遵循下面的例子 我将CurrencyTextWatcher作为一个单独的类。我需要这个,因为我将申请数页。 我不知道为什么,但是如果我使用setContentView(text)它将只作为一个大文本框工作,那么我就看不到xml的其余部分了。 如果我使用setContentView(R.layout.main)我的xml工作正常,除了我的txta编辑文本框的TextWatcher不会启动外 爪哇 CurrencyTextWatcher类 public class CurrencyText

大家好,我遵循下面的例子

我将CurrencyTextWatcher作为一个单独的类。我需要这个,因为我将申请数页。 我不知道为什么,但是如果我使用setContentView(text)它将只作为一个大文本框工作,那么我就看不到xml的其余部分了。
如果我使用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中找不到任何错误。就像我在问题中提到的,还有其他人这样做过吗?你知道会是什么吗?阿伦你是个该死的明星!谢谢你花时间给我解释,我现在明白我错过了什么。我真的很欣赏它,它就像一个魅力!对不起,我没有足够高的支持率去投票。阿伦,你是个该死的明星!谢谢你花时间给我解释,我现在明白我错过了什么。我真的很欣赏它,它就像一个魅力!对不起,我没有足够高的支持率来投票。