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 btnx10
twice. 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;
}