인터페이스를 정의하고 콜백을 사용하여 뷰에 손이 닿았 음을 액티비티에 알립니다. 당신의 활동에
for (ViewWasTouchedListener listener:listeners){
listener.onViewTouched(x,y);
}
터치 이벤트에서 사용자 정의보기
ArrayList<ViewWasTouchedListener> listeners = new ArrayList<ViewWasTouchedListener>();
...
public void setWasTouchedListener(ViewWasTouchedListener listener){
listeners.add(listener);
}
에서
public Interface ViewWasTouchedListener {
void onViewTouched(float x, float y);
}
: removeViewWasTouchedListener를 추가하여
public class Test extends Activity implements ViewWasTouchedListener {
...
@Override
public void onCreate(Bundle savedInstanceState)
{
...
MyExtendedView customView = (MyExtendedView)findViewById(R.id.myCustomeView);
customView.setWasTouchedListener(this);
...
}
public void onViewTouched(float x, float y){
// do whatever you need to do
}
당신은 뷰 클래스를 향상시킬 수 있으며, 체크 setViewWasTouchedListener에 동일한 리스너를 두 번 추가하지 마십시오.
정확하게 달성하려고 노력하고 있습니까? 감사! – Radical
당신을 진심으로 환영합니다. – Simon