我想做的事情就像当用户点击editText然后它被启用进行编辑(默认情况下它在xml中被禁用)和toast(以及一些其他按钮)应该只出现一次,而不是每次都出现。
我为此创建了以下逻辑: -
edt_title.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (MotionEvent.ACTION_UP == event.getAction()) {
Crouton.showText(ShowActivity.this, "Editing Mode Enabled",Style.INFO);
welcome.animate(getApplicationContext(), gallery, R.anim.fab_jump_from_down, 300);
edt_title.setFocusableInTouchMode(true);
}
return false;}
});
问题是当用户点击editText时,每次都会调用它, 单击editText时,有没有办法只执行一次。 也许可以使用sharedPreference,但如果我可以在不使用sharedPreference的情况下做到这一点会更好。
提前致谢:) Nishu
答案 0 :(得分:0)
一个简单的解决方案是:
edt_title.setOnTouchListener(new View.OnTouchListener() {
boolean called = false;
@Override
public boolean onTouch(View v, MotionEvent event) {
if (!called && MotionEvent.ACTION_UP == event.getAction()) {
Crouton.showText(ShowActivity.this, "Editing Mode Enabled",Style.INFO);
welcome.animate(getApplicationContext(), gallery, R.anim.fab_jump_from_down, 300);
edt_title.setFocusableInTouchMode(true);
called = true;
}
return false;
}
});
答案 1 :(得分:0)
声明一个你使用的全局变量,例如flag并使用一个简单的时间
boolean flagOneTime = true;
并将其添加到您的侦听器
中if( flagOneTime )
{
// do something and disable flag
flagOneTime = false;
}