我试图在单击EditText时始终调用某个函数。问题是,如果我实现了onClick,那么在第一次单击EditText时,onClick不会被调用,并且当我添加onFocusChange来修复此问题时,之后添加到相同EditText的侦听器似乎不起作用。用户还应该能够在对焦或点击后键入EditText。 OnTextChanged不是一个选项。你甚至可以有两个这样的听众吗?Android onFocusChange AND onClickListener
我在onCreateView中设置receiverEditText变量,并在onResume中调用addListeners。
的Java:
public void addListeners()
{
receiverEditText.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
doTheThingFunction();
}
});
View.OnFocusChangeListener listener = new View.OnFocusChangeListener()
{
@Override
public void onFocusChange(View v, boolean hasFocus)
{
doTheThingFunction();
}
};
receiverEditText.setOnFocusChangeListener(listener);
}
XML:
<EditText
android:id="@+id/messageReceiver"
android:layout_width="match_parent"
android:layout_height="35dp"
android:padding="3dp"
android:hint="@string/recipient"
android:focusableInTouchMode="true"
android:focusable="true">
<requestFocus />
</EditText>
我试过你的代码,但它仍然无法与onClick监听器一起使用。我还想调用onClick监听器上的函数以及onFocus更改。 – Waltari
我可以知道你为什么要在Edittext框上点击监听器吗?你可以使用textWatcher。 –
您可以调用您想在onClick上执行的聚焦增益功能。 –