单按钮问题上的setOnClickListener和setOnLongClickListener调用

jt.*_*jt. 11 android onlongclicklistener onclicklistener

如果任何人可以帮助我,我需要你的帮助,这对我的解决方案来说是件好事.我不知道是否有可能,但我想尝试解决这个问题.实际上我想在单按钮点击事件上实现两种方法,简单的点击和长按,这里我的代码::

homebutton = (ImageButton) findViewById(R.id.home_icon);
homebutton.setOnClickListener(new OnClickListener() {
    public void onClick(View arg0) {
        Intent intent = new Intent(context, MainActivity.class);
        startActivity(intent);
    }
});
homebutton.setOnLongClickListener(new OnLongClickListener() {
    public boolean onLongClick(View arg0) {
        Toast.makeText(getApplicationContext(), "Long Clicked " , Toast.LENGTH_SHORT).show();
        return false;
    }
});
Run Code Online (Sandbox Code Playgroud)

所以,在这里我得到了一些错误,即使单击也能正常工作,长按也有效,但问题是长按事件后它还会启动上面onClick方法代码中定义的MainActivity ..

不应该这样做,返回false也存在,仍然没有按我的意愿工作..所以,任何人请帮助我解决它..

提前致谢..

waq*_*lam 35

我相信你需要在onLongClick方法中返回 - 告诉框架触摸事件被消耗并且不需要进一步的事件处理.TRUE

homebutton.setOnLongClickListener(new OnLongClickListener() {
    public boolean onLongClick(View arg0) {
        Toast.makeText(getApplicationContext(), "Long Clicked " ,
              Toast.LENGTH_SHORT).show();

        return true;    // <- set to true
    }
});
Run Code Online (Sandbox Code Playgroud)