2017-08-23 25 views
0

我想从EditText上的值,并把它传递给RADIUS,这里是我的代码如何通过edittext更改drawcircle()中的半径?

class GetRadius extends Activity { 
private float radius = 0; 
@Override 
public void onCreate(Bundle savedInstanceState){ 
    super.onCreate(savedInstanceState); 
    setContentView(activity_main); 

    final EditText editText= findViewById(R.id.myText); 
    Button button=findViewById(R.id.mybutton); 
    button.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      radius=Float.valueOf(editText.getText().toString()); 
     } 
    }); 
} 
public float MyRadius() { 
    return radius; 
} 
} 

,我试图让半径在下面的类,它是一个公共类的一部分

@Override 
protected void onDraw(Canvas canvas){ 
    super.onDraw(canvas); 
    Paint paint=new Paint(); 
    GetRadius getRadius=new GetRadius(); 
    float radius=getRadius.MyRadius(); 

    for(Coordinate pt:points){ 
     paint.setColor(pt.colour); 
     canvas.drawCircle(pt.x,pt.y,radius,paint); 
    } 
} 

它没有显示任何错误,但只是无法在视图上画出点。如果我将半径改为像20,12这样的数字......它将起作用。我不确定它有什么问题。

+0

显示完整的代码有onDraw方法? –

+0

您是否检查过“半径”的值? – simon

回答

0
@Override 
    public void onClick(View view) { 
     YourView yourView=findViewById(R.id.yourViewId); 
     radius=Float.valueOf(editText.getText().toString()); 
     yourView.invalidate(); 
    } 
相关问题