我是Java和OOP的新手。这就是我所拥有的:
public class AmountChanged implements View.OnFocusChangeListener {
@Override
public void notFocused(View edittext1, boolean focused) {
//Do this awesome stuff
}
如何在mainActivity的editText框中实例化并使用它?我已经在onCreate方法中声明了editText框。
答案 0 :(得分:1)
让我们想象你创建了一个EditBox
:
EditText editText = new EditText(this);
要设置焦点更改侦听器,您应该向OnFocusChangeListener
提供setOnFocusChangeListener
实例。由于AmountChanged
实现OnFocusChangeListener
,您可以执行以下操作:
editText.setOnFocusChangeListener(new AmountChanged());
如果要在许多EditText
个项目上使用相同的侦听器,则可以将此侦听器保存为某个变量:
View.OnFocusChangeListener myListener = new AmountChanged();
...
editText.setOnFocusChangeListener(myListener);
答案 1 :(得分:1)
在您编写edittext代码的类中,在该活动onCreate()
方法中,您需要编写
yourEditext.setOnFocusChangeListener(new AmountChanged());
Also give an eye to this please因为您也可以使用匿名类。
答案 2 :(得分:0)
在您要使用onCreate
框的editText
方法中,
View.OnFocusChangeListener ac = new AmountChanged();
editText.setOnFocusChangeListener(ac);
来自View
Android Developer Guide,
设置侦听器:视图允许客户端设置在视图发生有趣事件时将收到通知的侦听器。例如,所有视图都允许您设置一个侦听器,以便在视图获得或失去焦点时得到通知。您可以使用
setOnFocusChangeListener(View.OnFocusChangeListener)
注册这样的监听器。其他视图子类提供更专业的侦听器。例如,Button
公开监听器以在单击按钮时通知客户端。
答案 3 :(得分:0)
android中的监听器意味着它会听一些事件(OnTouchListener
,OnClickListener
,OnFocusChangedListener
等。正如你所看到OnFocusChangedListener
类在View
类中宣布的那样,在Android的范围内,它通常意味着任何View
的孩子都可以产生这个事件,所以你需要"听&# 34;对那些事件。
在EdiText的范围内,你需要做的是这样的事情:
editText.setOnFocusChangedListener(new AmmountChanged());
EdiText
是View的孩子。所以我们开始"倾听"通过注册我们的实例实现OnFocusChangeListener,在editText中发生的所有OnFocusChanged事件。