package rakuseven.G1;
 
import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.os.Bundle;
import android.util.AttributeSet;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.View;
import android.view.SurfaceHolder.Callback;
import android.widget.ImageButton;
import android.app.*;
import android.content.*;
import android.view.*;
import android.view.View.*;
import android.webkit.*;
import android.widget.*;
public class RandomRun extends SurfaceView implements Callback {
 static Context mCtx;
 
 class RandomRun1 extends Activity implements OnClickListener {
  
  @Override
  public void onCreate(Bundle savedInstanceState) {
   
   super.onCreate(savedInstanceState);
   setContentView(R.layout.title);
   
   Button button17 = (Button) findViewById(R.id.BTN_START);
   button17.setOnClickListener(this); //�ڷ� ��ư }
  }
   @Override
   public void onClick(View v) {
    if (v.getId() == R.id.BTN_START) {
     Intent intent = new Intent(getApplicationContext(), G1.class);
     
     startActivity(intent);
    // TODO Auto-generated method stub
    
   }}
 RandomRun1 in = new RandomRun1();
}
public static void main(){
 RandomRun local = new RandomRun(mCtx, null);
 
}
 class ImgThread extends Thread{
  private Bitmap mImgBack;
  private int cnt = 0;
  private SurfaceHolder mSurfaceHolder;
  int xpos = 10;
  int ypos = 20;
  int BGmove = 0;
  int CENTER = 4;
  Horses horses;
  public ImgThread(SurfaceHolder surfaceHolder, Context context){
   mSurfaceHolder = surfaceHolder;
   Resources res = context.getResources();
   mImgBack = BitmapFactory.decodeResource(res, R.drawable.bglong);
   horses = new Horses(context);
   
  }
  public void run(){
   for(int i = 0 ; i < 5; i++)
    horses.Horse[i].start();
   
   while(true){
    boolean changed = false;
    
    for(int i = 0 ; i < 5; i++){
     if(horses.Horse[i].preStep != horses.Horse[i].LOCATION){
      changed = true;
     }
    }
    Canvas canvas = null;
    if (changed) {
     try {
      canvas = mSurfaceHolder.lockCanvas(null);
      synchronized (mSurfaceHolder) {
       canvas.drawBitmap(mImgBack, BGmove, 0, null);
       cnt++;
       for (int i = 0; i < 5; i++) {
        if(horses.Horse[CENTER].LOCATION < 200){
         xpos = horses.Horse[i].LOCATION;
        }else if(horses.Horse[CENTER].LOCATION >= 200 && horses.Horse[CENTER].LOCATION <= 1100){
         xpos = 200 - (horses.Horse[CENTER].LOCATION -horses.Horse[i].LOCATION);
         BGmove = 200 - horses.Horse[CENTER].LOCATION;
        }else if(horses.Horse[CENTER].LOCATION > 1100){
         xpos = horses.Horse[i].LOCATION - 900;
        }
        horses.Horse[i].mHImage[horses.Horse[i].FRAME % 2].setBounds(xpos, ypos + (i * 40),xpos + 100, ypos + (i * 40) + 100);
        horses.Horse[i].mHImage[horses.Horse[i].FRAME % 2].draw(canvas);
       }
       Paint paint = new Paint();
       paint.setAntiAlias(true);
       paint.setTextSize(18);
       if(horses.NUMBER > 5){
        canvas.drawText("- END -", 200, 100, paint);
        for(int i = 1; i <= 5; i++){
         for(int j = 0; j < 5; j++){
          if(i == horses.Horse[j].RANK){
           canvas.drawText(i+"�� : "+horses.Horse[j].NAME, 170, 100+(i*22), paint);
          }
         }
        }
        break;
       }
       sleep(1);
      }
     } catch (InterruptedException e) {
      e.printStackTrace();
     } finally {
      if (canvas != null) {
       mSurfaceHolder.unlockCanvasAndPost(canvas);
      }
     }
    }
    changed = false;
   }
  }
 }
 private ImgThread thread;
 public RandomRun(Context context, AttributeSet attrs) {
  super(context, attrs);
  // TODO Auto-generated constructor stub
  mCtx = context;
  SurfaceHolder holder = getHolder();
  holder.addCallback(this);
  thread = new ImgThread(holder, context);
  setFocusable(true);
 }
 
 @Override
 public void surfaceChanged(SurfaceHolder holder, int format, int width,
   int height) {
  // TODO Auto-generated method stub
 }
 @Override
 public void surfaceCreated(SurfaceHolder holder) {
  // TODO Auto-generated method stub
  thread.start();
 }
 @Override
 public void surfaceDestroyed(SurfaceHolder holder) {
  // TODO Auto-generated method stub
  boolean retry = true;
  while(retry){
   try{
    thread.join();
    retry = false;
   }catch(InterruptedException e){
   }
  }
 }
 }
 
 

G1이 처음 시작화면이며, 내부 클래스를 써서
class RandomRun1 extends Activity implements OnClickListener
public class RandomRun extends SurfaceView implements Callback
둘 다 사용할수 있게는 만들었습니다.
버튼 터치는 작동하는데 G1으로 넘어가지는 않습니다..ㅠㅠ
꿈같은 답변 부탁드립니다!!