In my mainactivity I have the following snip
MainActivity.class
private Button btnx10;
@Override
protected void onCreate(Bundle savedInstanceState) {
Change the code to
btnx10= findViewById(R.id.MainCOPbtn);
You are casting Button in the declaration which makes global variable inaccessible.
Since you have declared the Button in Scope of Method onCreate()
Button btnx10=(Button)findViewById(R.id.MainCOPbtn);
and you are trying to access it outside of the method onCreate(), that makes it inaccessible outside of this method.
Just make the reference on class level (Globally) and use the same Reference in onCreate() method.
you can do this:-
private Button btnx10;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
btnx10 = (Button)findViewById(R.id.MainCOPbtn);
DrawLines();
}
private void drawLines(){
float centerYOnImage1 = btnx10.getHeight()/2;
}
Remove local declaration of Button again.
Just use btnx10=(Button)findViewById(R.id.MainCOPbtn); in onCreate()
You are declaring
Button btnx10twice. Remove the local declaration. You should declare outside the method, and define inside the method.
Class MainActivity...
private Button btnx10;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
btnx10=(Button)findViewById(R.id.MainCOPbtn); //MINOR CORRECTION IN THIS LINE
DrawLines()
}
private void drawLines() {
float centerYOnImage1=btnx10.getHeight()/2;
}