안드로이드 개발시 직접 interface를 만들어서 사용하는 방법에 대해 궁금해서 문의드립니다.

아래와 같이 View를 하나 만들어서 View와 Activty간에 Interface를 통해서
상호작용을 하게 하기 위해서 View Class에 Interface를 정의하고,

public class testView extends View {

 testViewListener InterfaceObj;

 public interface testViewListener {
  boolean viewPage(testView tv, int thisPage);
  boolean viewScale(testView tv, float zoomLevel);
  boolean viewSize(testView tv, int pixcelX, int pixcelY);
 }

 public testtView(Context context) {
  this(context, null);
 }
 public testView(Context context, AttributeSet attrs) {
  this(context, attrs, R.attr.scrollViewStyle);
 }
 public testView(Context context, AttributeSet attrs, int defStyle) {
  super(context, attrs, defStyle);

  /* View의 상태가 변할때 마다 Interface를 통해서 Activity에 전달 */
  /* 하고 싶은데 아래의 interfaceObj 생성방법을 몰라서 문의드립니다 */
  InterfaceObj = new ...  
 }


 @Override
 protected void onDraw(Canvas canvas) {
  // TODO Auto-generated method stub
  super.onDraw(canvas);
   canvas.drawBitmap(testBmp, src, dst, null)
 }

 public boolean OnTouchEvent(MotionEvent event) {

  /* View의 상태가 변할때 마다 Interface를 통해서 Activity에 전달 */
  /* 하고 싶은데 interfaceObj를 생성하는 방법을 몰라서 문의드립니다 */
  interfaceObj.viewPage(testView tv, int thisPage);
  interfaceObj.viewScale(testView tv, float zoomLevel);
  interfaceObj.viewSize(testView tv, int pixcelX, int pixcelY);

  return true;
 }

}


아래는 Activity에서 interface를 아래와 같이 implements하고
Interface method를 통해서 받을 수 있도록 해보고 싶습니다.

 

public class ViewerTestActivity extends Activity implements testViewListener{

     private tesetView tv;

 @Override
 public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.main);
         tv = new testView(this);

         /* this를 넘겨서 View에서 Interface를 생성하면 될 것 같은데... 어떻게 해야할지 모르겠습니다. */
 }
   

 @Override
 public boolean onTouchEvent(MotionEvent event) {
  return pv.relayTouchEvent(event);
 }
   


 /********************/
 /* Interface Method */
 /********************/
 @Override
 public boolean viewPage(testView tv, int thisPage) {
  // TODO Auto-generated method stub
  return false;
 }

 @Override
 public boolean viewScale(testView tv, float zoomLevel) {
  // TODO Auto-generated method stub
  return false;
 }

 @Override
 public boolean viewSize(testView tv, int pixcelX, int pixcelY) {
  // TODO Auto-generated method stub
  return false;
 }
}

자바기반이 좀 약한 가운데 안드로이드 개발을 좀 해볼려니까 어려움이 많습니다.
몇일동안 책도보고 검색도 해보다가 답을 못찾아서 고수님들의 도움을 받고자 합니다.
고수님들의 조언을 꼭 부탁드립니다.

 

감사합니다.