0

I was working on a floating action button activity and I encountered this error. How can this type of errors be avoided from next time?

Also, If you have any other ways to code the floating action button activity, please do let me know.

public class FabActivity extends AppCompatActivity {
    FloatingActionButton fab_cross, fab_plus, fab_list, fab_del, fab_upd;
    Animation fab_open, fab_close, rotate_clockwise, rotate_anticlockwise;
    boolean isOpen = false;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_fab);
    }

    public void setFab_cross(FloatingActionButton fab_cross) {
        this.fab_cross = fab_cross;

        fab_cross = (FloatingActionButton) findViewById(R.id.fab_cross);
        fab_cross.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                if(isOpen){
                    fab_plus.startAnimation(fab_close);
                    fab_list.startAnimation(fab_close);
                    fab_del.startAnimation(fab_close);
                    fab_upd.startAnimation(fab_close);
                    fab_cross.startAnimation(rotate_anticlockwise);
                    fab_plus.setClickable(false);
                    fab_list.setClickable(false);
                    fab_del.setClickable(false);
                    fab_upd.setClickable(false);
                    isOpen = false;

                }
                else
                {
                    fab_plus.startAnimation(fab_open);
                    fab_list.startAnimation(fab_open);
                    fab_del.startAnimation(fab_open);
                    fab_upd.startAnimation(fab_open);
                    fab_cross.startAnimation(rotate_clockwise);
                    fab_plus.setClickable(true);
                    fab_list.setClickable(true);
                    fab_del.setClickable(true);
                    fab_upd.setClickable(true);
                    isOpen = true;


                }
            }
        });
    }

    public void setFab_plus(FloatingActionButton fab_plus) {
        this.fab_plus = fab_plus;

        fab_plus = (FloatingActionButton) findViewById(R.id.fab_plus);
    }

    public void setFab_list(FloatingActionButton fab_list) {
        this.fab_list = fab_list;

        fab_list = (FloatingActionButton) findViewById(R.id.fab_list);
    }

    public void setFab_del(FloatingActionButton fab_del) {
        this.fab_del = fab_del;

        fab_del = (FloatingActionButton) findViewById(R.id.fab_del);
    }

    public void setFab_upd(FloatingActionButton fab_upd) {
        this.fab_upd = fab_upd;

        fab_upd = (FloatingActionButton) findViewById(R.id.fab_upd);
    }

    public void setFab_open(Animation fab_open) {
        this.fab_open = fab_open;

        fab_open = AnimationUtils.loadAnimation(getApplicationContext(),R.anim.fab_open);
    }

    public void setFab_close(Animation fab_close) {
        this.fab_close = fab_close;

        fab_close = AnimationUtils.loadAnimation(getApplicationContext(),R.anim.fab_close);
    }

    public void setRotate_clockwise(Animation rotate_clockwise) {
        this.rotate_clockwise = rotate_clockwise;

        rotate_clockwise = AnimationUtils.loadAnimation(getApplicationContext(),R.anim.rotate_clockwise);
    }

    public void setRotate_anticlockwise(Animation rotate_anticlockwise) {
        this.rotate_anticlockwise = rotate_anticlockwise;

        rotate_anticlockwise = AnimationUtils.loadAnimation(getApplicationContext(),R.anim.rotate_anticlockwise);
    }
}
Jonathan Hall
  • 75,165
  • 16
  • 143
  • 189
Mr. X
  • 11
  • 2
  • If you donot want to make it `final`, make it instance variable. – Blasanka Jul 11 '17 at 17:52
  • The variable can be "effectively `final`", which yours wasn't, or you can use the member variable, which you do seem to have available, or you can copy the non-(effectively) `final` variable to a `final` variable for the inner class to use. Whatever you do, please do follow the Java naming conventions, which you didn't do here. – Lew Bloch Jul 11 '17 at 18:05

0 Answers0