Skip to content Skip to sidebar Skip to footer

Android How To Pass An Activity.class As An Argument For A Function

I recently moved to Android from Python and am stuck here. This is my class declaration to create a common function for an Alert Dialog which accepts necessary parameters: public s

Solution 1:

call like this:

ButtonClickBySani(R.id.btnsehrabandi, sehrabandiActivity.class);

Definition:

privatevoidButtonClickBySani(int ButtonId, final Class<? extends Activity> ActivityToOpen)
{
    Button btn;
    // Locate the button in activity_main.xml
    btn = (Button) findViewById(ButtonId);

    // Capture button clicks
    btn.setOnClickListener(newOnClickListener() {
        publicvoidonClick(View arg0) {
            startActivity(newIntent(getBaseContext(), ActivityToOpen));
            // Start NewActivity.class//Intent myIntent = new Intent(getBaseContext(), ActivityToOpen);// startActivity(myIntent);
        }
    });
}

Solution 2:

If you just want to pass a reference to your Activity use: MakeCall.this (or maybe just this.)

Solution 3:

Just create an activity object/instance like new YourActivity().

public static void Redirect(Context context,Activity page) {

..... //code

context.startActivity(new Intent(context,page.getClass()));

((Activity) context).finish();
}

and use this method as

Redirect(Registration.this, newYourActivity());

Solution 4:

Solution 5:

You need the instance. Use this or SampleActivity.this.

Post a Comment for "Android How To Pass An Activity.class As An Argument For A Function"