#java #android #user-interface #object #view
#java #Android #пользовательский интерфейс #объект #Вид
Вопрос:
Я реализую пользовательский вид в Android Studio с использованием Java.В процессе я должен обновить значение до пользовательского объекта, созданного из пользовательского представления.Я не могу этого сделать.Вот мой пример кода: пользовательский вид->
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) создан, но будет работать после того, как объект не будет создан.
почему это так? как обновить при создании объекта after?
Комментарии:
1. Можете ли вы сделать вопрос более понятным и добавить еще немного кода, который вы пробовали?
2. Начните с замены
simple_object.void update_line(100);
наsimple_object.update_line(100);
. Нет причин указывать возвращаемый тип при вызове реализованного метода. Более того, это не должно работать, поскольку вы выполняете статический вызов нестатического метода: вам следует создать экземпляр simple_object в вашей Activity.3. simple_object является экземпляром класса simpleclass. Как создать экземпляр объекта?