1
我有包含游戏hang子手的应用程序。我已经为他们的绘画责任制定了一项单独的活动。下面的代码:Android:切换和更新布局
public class DrawWisielec extends View
{
Paint paint;
int choose;
public DrawWisielec(Context context,int choose)
{
super(context);
this.choose = choose;
}
protected void onDraw(Canvas canvas)
{
canvas.drawRGB(0,0,0);
Paint Circle = new Paint();
Paint paint = new Paint();
Circle.setARGB(255,255,255,255);
Circle.setStyle(Paint.Style.STROKE);
Circle.setStrokeWidth(5);
paint.setARGB(255, 255, 255, 255);
paint.setStrokeWidth(5);
switch(choose)
{
case 1:
{
canvas.drawLine(50, 400, 100, 300, paint);
break;
}
case 2:
{
canvas.drawLine(100, 300, 150, 400, paint);
break;
}
case 3: canvas.drawLine(100, 300, 100, 50, paint);
case 4:canvas.drawLine(100,50,300,50,paint);
case 5:canvas.drawLine(300,50,300,100,paint);
case 6:canvas.drawCircle(300, 150, 50, Circle);
case 7:canvas.drawLine(300, 200, 300, 250, paint);
case 8:canvas.drawLine(300, 250, 250, 200, paint);
case 9:canvas.drawLine(300, 250, 350, 200, paint);
case 10:canvas.drawLine(300, 250, 275, 330, paint);
case 11:canvas.drawLine(300, 250, 325, 330, paint);
}
invalidate();
}
如何从另一个活动图纸的各个阶段,该阶段的代码如下之间切换:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.game_mode_wisielec);
DrawLayout = (LinearLayout)findViewById(R.id.WisielecDrawLayout);
DrawWisielec draw = new DrawWisielec(this, choose);
DrawLayout.addView(draw);
我使用这种方法,但我有例外,这是我的代码:这是我发射你写的东西的方法。 draw.setChoose(选择)返回异常。 这是我的方法drawChoose: \t公共无效setChoose(INT X) \t { \t \t this.choose = X; \t} – 2013-03-23 08:54:25
你会得到什么例外? – 2013-03-23 08:56:34
ThreadException,我是否需要调用invalidate并设置选择线程?对不起,我的英语很少。 – 2013-03-23 09:19:41