camera 객체 이용해서 카메라 미리보기 흉내내는 에뮬을 실행까지는됩니다

그런데 상단왼쪽에 버튼을 추가하고 오른쪽에 텍스트뷰를 추가시켜서

카메라 미리보기기능은 계속 돌아가면서 버튼을 클릭했을때 텍스트뷰만

변화면되는데요 잘안되네요... 어떻게 수정하면 될지 수정좀부탁드립니다

첨부파일 통째로추가합니다...





package com.jjw.gg;

import java.io.IOException;

import android.app.Activity;
import android.content.Context;
import android.hardware.Camera;
import android.os.Bundle;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.View;
import android.view.Window;
import android.view.ViewGroup.LayoutParams;
import android.widget.Button;
import android.widget.Toast;


// ----------------------------------------------------------------------

public class gg extends Activity {   
 
 
    private Preview mPreview;
    public Button basic_button;
 final Toast mTost = null;
 private SurfaceView surfacev;
 
   
    @Override
 protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
       
        requestWindowFeature(Window.FEATURE_NO_TITLE);
       
        mPreview = new Preview(this);
        setContentView(R.layout.main);
        surfacev = (SurfaceView) findViewById(R.id.SurfaceView01);
        //surfacev.setLayoutParams(mPreview.getLayoutParams());
       
       
        //setContentView(mPreview, new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
       
        basic_button = (Button) findViewById(R.id.basic_button);
        basic_button.setOnClickListener(new View.OnClickListener() {
   
   @Override
   public void onClick(View v) {
    mTost.setText("Bbutton clicked");
 
    //Toast makeText = mTost.makeText(gg.this , "Bbutton clicked", Toast.LENGTH_SHORT);
    mTost.show();
     // TODO Auto-generated method stub
    
   }
  });
    }

}

// ----------------------------------------------------------------------

class Preview extends SurfaceView implements SurfaceHolder.Callback {
    SurfaceHolder mHolder;
    Camera mCamera;
   
    Preview(Context context) {
        super(context);

        mHolder = getHolder();
        mHolder.addCallback(this);
        mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
    }

    public void surfaceCreated(SurfaceHolder holder) {
        mCamera = Camera.open();
        try {
           mCamera.setPreviewDisplay(holder);
        } catch (IOException exception) {
            mCamera.release(); 
            mCamera = null;             
        }
    }

    public void surfaceDestroyed(SurfaceHolder holder) {
        mCamera.stopPreview();
        mCamera.release();
        mCamera = null;
    }

    public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
        Camera.Parameters parameters = mCamera.getParameters();  
        parameters.setPreviewSize(w, h);
        mCamera.setParameters(parameters);
        mCamera.startPreview();
    }
   

}