I am a novice Android Developer. I have created a package-private class which extends Application, and contains the required code for specific functions. I basically want to display if the user-selected button is the correct choice or not, via a toast. Since I have to call this code for many activities, I just created a package-private class for it. However, on clicking the button, the app crashes. Please see the code given below for reference.
I cannot change the onClick method to non-static because if I do that, Android Studio shows an error, and if I change it to static, I am unable to use the method
getApplicationContext(), because it is not accessible inside static blocks.
I think that using view.getContext() is causing the crash.
Is there any workaround, or a solution? Your help would be greatly appreciated. Thanks :)
Here is the code for your reference.
activity.java:
public class activity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Button btn = (Button) findViewById(R.id.btn);
        btn.setOnClickListener(functions.select);
        functions.makeLayout(expression, buttons);
    }
}
Here is the code which crashes the app.
functions.java:
class functions extends Application {
    private static int idx;
    public static View.OnClickListener select=new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            int selected_index=(int) view.getTag();
            if(selected_index==idx)
            {
                Toast.makeText(view.getContext(), "Correct.", Toast.LENGTH_LONG).show();
                ((Button) view).setTextColor(Color.GREEN);
            }
            else
            {
                Toast.makeText(view.getContext(), "Wrong.", Toast.LENGTH_LONG).show();
                ((Button) view).setTextColor(Color.RED);
            }
        }
    };
