如果有人可以的话,我需要你的帮助,这对我的解决方案是件好事。
我不知道有没有可能,但我想设法解决这个问题。
实际上,我想在单按钮单击事件上实现两种方法,简单单击和长单击,下面是我的代码:

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;
    }
});

所以,在这里我有点不对劲,即使是单点击也能正常工作,长点击也能正常工作,但问题是长点击事件之后,它也会启动上面onclick方法代码中定义的mainactivity。
那不该做的,还假的也在那里,还没有按我的意愿去工作…
所以,请任何人帮我解决这个问题。
提前谢谢..

最佳答案

我相信您需要在onlongclick方法中返回TRUE-告诉框架touch事件已被使用,不需要进一步的事件处理。

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

        return true;    // <- set to true
    }
});

09-13 01:40