gpt4 book ai didi

android - 有人可以指出我在下面的程序中缺少什么吗

转载 作者:行者123 更新时间:2023-11-29 16:16:30 24 4
gpt4 key购买 nike

我正在尝试将上下文从一个类传递到另一个类..请告诉我我做错了什么..

Draw.java

public class Draw extends View{ 

private Context context;
private Paint paint = null;
private Point start,end;
public Draw(Context check){
super(check);
paint();
}

protected void onDraw(Canvas canvas){
super.onDraw(canvas);
canvas.drawRect(60,60,120,120,paint);
Check check = new Check(context.getApplicationContext());
check.update();
}
public void paint(){
paint= new Paint();
paint.setColor(Color.YELLOW);
paint.setAntiAlias(true);
paint.setStyle(Paint.Style.FILL_AND_STROKE);
}
}

检查.java

public class Check {
private static Check check = null;
private Context context;
public Check(Context context){
this.context = context;
}

void update() {
Toast.makeText(context, "Context Received", Toast.LENGTH_LONG).show();
}
}

RectangleActivity.java

public class RectangleActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
Context context;
super.onCreate(savedInstanceState);
Draw draw = new Draw(this);
setContentView(draw);
}
}

请帮助我..我被这个问题困扰了好几天...

最佳答案

在你的 Draw-constructor 中,你永远不会将上下文保存到你的变量中,它应该像在 Check-constructor 中一样:

this.context = context;

否则你会得到一个null当你到达

context.getApplicationContext()

这也有点没必要,传context就够了照原样。

关于android - 有人可以指出我在下面的程序中缺少什么吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9062199/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com