Android TextView TextWatcher

时间:2018-07-24 01:35:48

标签: android textwatcher

所以我有两个EditText和一个TextView, 这两个EditText是Number格式,我用它来比较大于或小于...的两个。对于TextView,这是我放置输出的位置。 我的问题是,当我在编辑文本中输入数字时,Textview中没有任何更改。

下面是我的代码:

@Override
protected void onCreate(Bundle savedInstanceState)
{
    etnumb_one= findViewById(R.id.etnumb_one);
    etnumb_two= findViewById(R.id.etnumb_two);
    tvOutput= findViewById(R.id.tvOutput);

    tvOutput.addTextChangedListener(new TextWatcher() {
        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) { }
        @Override
        public void afterTextChanged(Editable s)
        {
            tvOutput.setText(getOutput());
        }
    });
}

下面是我在onCreate之外的方法

 public String getOutput()
{
    int first = Integer.parseInt(etnumb_one.getText().toString());
    int second= Integer.parseInt(etnumb_two.getText().toString());

    String output;

    if(first > second)
    {
        output= Integer.toString(first) + " : " + Integer.toString(second);
    }
    else
    {
        output= Integer.toString(first) + " : " + Integer.toString(second);
    }
    return output;
}

我只想在textview中查看输出。谢谢!

1 个答案:

答案 0 :(得分:0)

您要在TextWatcher上添加TextView,而不要在EditText上添加。

代替

tvOutput.addTextChangedListener

使用:

etnumb_one.addTextChangedListener