когда я создаю класс пользовательского представления и добавляю clickListener, он срабатывает в любом месте экрана, на котором я щелкаю, даже там, где пользовательского представления нет. Если я использую тот же код с кнопкой из макета, он срабатывает только тогда, когда я нажимаю кнопку, а не где-либо на экране. Любые идеи, как просто слушать, когда мой пользовательский класс нажимается напрямую?
кнопка срабатывает только при нажатии
Button b = (Button) findViewById(R.id.button1);
b.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Log.d(DEBUG_TAG, "button clicked");
}
});
Объект обводки срабатывает, когда вы нажимаете в любом месте экрана, даже за пределами ограничивающей рамки
Stroke stroke = new Stroke(this);
mainLayout.addView(stroke);
stroke.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// fires on every screen click :>(
Log.d(Main.DEBUG_TAG, this.toString()+"shape clicked");
}
});