誰かができるなら私はあなたの助けが必要です、それは私の解決のために素晴らしいことになるでしょう。それが可能かどうかはわかりませんが、どうにかしてこれを修正したいと思います。実際には、シングルボタンクリックイベントに2つのメソッド、単純クリックとロングクリックを実装したいと思います。ここに私のコード::
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も開始することです。
それは行われるべきではありません、falseを返すこともありますが、それでも私が望むように機能していません..だから、誰かがそれを解決するのを手伝ってください。
前もって感謝します..
onLongClickメソッドでreturnTRUE
を実行する必要があると思います-タッチイベントが消費され、それ以上のイベント処理は必要ありません。
homebutton.setOnLongClickListener(new OnLongClickListener() {
public boolean onLongClick(View arg0) {
Toast.makeText(getApplicationContext(), "Long Clicked " ,
Toast.LENGTH_SHORT).show();
return true; // <- set to true
}
});