通过按键使用surfaceView 不能执行surfacecreated

qq_24025829 2015-07-14 05:36:02

在的点击按钮时为什么不能调用到SurfaceView里的surfaceCreated 回调函数啊?请各位大侠指导下,谢谢


public class MainActivity extends Activity implements Callback {

Button button=null;
ImageView imageView = null;
SurfaceHolder sfhHolder=null;
SurfaceView sfvView =null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button=(Button)findViewById(R.id.play_animator);
button.setOnClickListener(listener);

}

View.OnClickListener listener =new View.OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
fuc();

}
};

@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
Log.i("wenjian", "***************thread");
MyThread myThread =new MyThread();
Thread td= new Thread(myThread);
td.start();
}
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
// TODO Auto-generated method stub

}
class MyThread implements Runnable
{

@Override
public void run() {
// TODO Auto-generated method stub

Canvas cs= sfhHolder.lockCanvas(null);
Paint mPaint = new Paint();
mPaint.setColor(Color.RED);
cs.drawRect(new Rect(0, 0, 340, 350), mPaint);
sfhHolder.unlockCanvasAndPost(cs);
}

}
public void fuc()
{
sfvView =(SurfaceView)findViewById(R.id.surfaceView1);
Log.i("wenjian","************ onclick");
sfhHolder=sfvView.getHolder();
Log.i("wenjian","************ sfhHolder:"+sfhHolder);
sfhHolder.addCallback(MainActivity.this);
}
...全文
108 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧