Java使用不同类的方法为Android

时间:2014-11-07 20:13:40

标签: java android eclipse android-edittext

我是Java和OOP的新手。这就是我所拥有的:

public class AmountChanged implements View.OnFocusChangeListener {

    @Override
    public void notFocused(View edittext1, boolean focused) {

//Do this awesome stuff

}

如何在mainActivity的editText框中实例化并使用它?我已经在onCreate方法中声明了editText框。

4 个答案:

答案 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中的监听器意味着它会听一些事件(OnTouchListenerOnClickListenerOnFocusChangedListener等。正如你所看到OnFocusChangedListener类在View类中宣布的那样,在Android的范围内,它通常意味着任何View的孩子都可以产生这个事件,所以你需要"听&# 34;对那些事件。

在EdiText的范围内,你需要做的是这样的事情:

editText.setOnFocusChangedListener(new AmmountChanged());

EdiText是View的孩子。所以我们开始"倾听"通过注册我们的实例实现OnFocusChangeListener,在editText中发生的所有OnFocusChanged事件。