setOnClickListener и setOnLongClickListener вызов по одной кнопке проблема
Мне нужна ваша помощь, если кто-то может быть, это будет великая вещь для моего решения. Я не знаю, возможно это или нет, но я хочу попытаться исправить это как-нибудь.. На самом деле я хочу реализовать два метода на одной кнопке click event, его простой щелчок и длинный щелчок, вот мой код ::
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;
}
});
Итак, здесь я получаю что-то не так, даже одиночный клик работает отлично, и длинный клик также работает, но проблема в том, что после события длинного клика его также запускают MainActivity, как определено в выше код метода onClick..
Этого делать не следует, return false тоже есть, все равно не работает так, как я хочу.. Так что, кто - нибудь, пожалуйста, помогите мне его решить..
Заранее благодарю..
1 ответ:
Я считаю, что вам нужно вернуться
TRUE
в вашем методе onLongClick - сообщение фреймворку о том, что событие касания потребляется и дальнейшая обработка событий не требуется.homebutton.setOnLongClickListener(new OnLongClickListener() { public boolean onLongClick(View arg0) { Toast.makeText(getApplicationContext(), "Long Clicked " , Toast.LENGTH_SHORT).show(); return true; // <- set to true } });