2017-08-23 26 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(); 
    } 
相關問題