我正在尝试在 Activity 的软键盘上添加 onClick。原因是我想检查用户当前是否处于 Activity 状态。所以我所做的是,如果用户单击应用程序,我将重置不活动计时器。问题是,当用户与软键盘交互时,它不会调用函数onUserInteraction()
,这是我在 Activity 中重写的函数。因此,我需要帮助找到一种方法来跟踪我在 Activity 中的每个文本字段等是否已单击软键盘。 (我知道我可以在每个 EditText 字段上插入一个 onclick 监听器,但我不想这样做,因为如果我使用许多 EditText 字段,那就不会那么好了)
最佳答案
这就是我最终得到的结果。我本来希望有别的东西,但这解决了问题。感谢您的帮助!
public class ActivityEditText extends android.support.v7.widget.AppCompatEditText {
private TextWatcher tw;
public ActivityEditText(Context c)
{
super(c);
this.setOurTCL();
}
public ActivityEditText(Context context, AttributeSet attrs) {
super(context, attrs);
this.setOurTCL();
}
public ActivityEditText(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
this.setOurTCL();
}
private void setOurTCL()
{
this.tw = new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
InactivityManager.resetTime();
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
}
};
this.addTextChangedListener(this.tw);
}
@Override
public void removeTextChangedListener(TextWatcher watcher) {
if(!watcher.equals(this.tw))
super.removeTextChangedListener(watcher);
}
}
关于java - Android 在 Activity 上添加 onClick 软键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43250258/