我正在尝试实现一个转换单位的活动。有五个字段我希望能够在运行中进行转换。我不能简单地使用TextWatcher
,因为当我更改字段时,会更改所有其他字段并导致循环调用崩溃。
我查看了OnFocusChangeListener
,但只有在焦点发生变化时才有效,而我希望动态更新。
然后我认为我可以将两者结合起来,所以我有TextWatcher
并且我把它放在里面
public void afterTextChanged(Editable s)
{
if (convert_kg.hasfocus())
{
if (convert_kg.getText().toString().matches("")) sums=0.0;
else sums=Double.parseDouble(convert_kg.getText().toString());
answer=(int)Math.round(sums*2.205);
convert_lbs.setText(String.format("%d", answer));
}
}
但我收到错误方法hasfocus()未定义类型EditText
这些是我的进口商品:
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.widget.TextView;
import android.widget.EditText;
import android.text.Editable;
import android.text.TextWatcher;
据我所知http://developer.android.com/reference/android/widget/EditText.html它应该得到支持吗?我确定这很简单但有任何想法吗?
编辑:如果有人想知道所有字段都是EditText
convert_kg=(EditText)findViewById(R.id.convert_kg);
答案 0 :(得分:0)
查看评论。 isFocused()是我需要使用的方法。