我正在使用java在android studio中实现自定义视图。在此过程中,我必须将值更新为从自定义视图创建的自定义对象。我无法这样做,这是我的示例代码: 自定义视图->
public class simpleclass extends View{
private simple_line line;
constructors[..
line=new simple_line(0);
];
public void update_line(float up_val){
line.set_xval=up_val;
}
onmeasuremethod[..];
@Override
protected void onDraw(Canvas canvas){line.draw_line(canvas); }
private class simple_line{
private Paint mpaint;
private float xval;
public simple_line(float val){
xval=val;
mpaint=new Paint();
mpaint.setStrokeWidth(10);
mpaint.setStyle(Paint.Style.STROKE);
mpaint.setColor(Color.BLUE);
}
public void set_xval(float val){
this.xval=val;
invalidate();
}
public float get_xval(){
return xval;
}
public draw_line(Canvas canvas){
Path mypath=new Path();
mypath.moveTo(getwidth/2+xval,0);
mypath.lineTo(getwidth/2+xval,getHeight);
mypath.close();
canvas.drawPath(mypath,mpaint);
}
}
}
主要活动->
simple_object=new simpleclass(this);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
simple_object.update_line(100);
}
});
在创建对象(simple_object)时,按钮更新不起作用,但是在未创建对象后才起作用。
为什么会这样? 创建对象后如何更新?