如何在android中创建自定义启动活动方法?

Ale*_*amo 2 methods android start-activity

我想创建一个方法来启动多个活动.我已经设置setOnClickListener了每个按钮.我已经实现了如下所示的onClick()方法:

public void onClick(View view) {
    switch (view.getId()) {
        case R.id.firstActivityButton:
            Intent i1 = new Intent(getApplicationContext(), FirstActivity.class);
            startActivity(i1);
            break;

        case R.id.secondActivityButton:
            Intent i2 = new Intent(getApplicationContext(), SecondActivity.class);
            startActivity(i2);
            break;

        //and so on
    }
}
Run Code Online (Sandbox Code Playgroud)

我想在每个case像这样的方法中使用一个方法:startSpecificActivity(FirstActivity.class)这是我的方法:

public void startSpecificActivity(Context context) {
    Intent intent = new Intent(getApplicationContext(), context.class);
    startActivity(intent);
}
Run Code Online (Sandbox Code Playgroud)

Pav*_*ngh 10

public void onClick(View view) {
    switch (view.getId()) {
        case R.id.firstActivityButton:
            startSpecificActivity(FirstActivity.class);
            break;

        case R.id.secondActivityButton:
            startSpecificActivity(SecondActivity.class);
            break;

        // And so on
    }
}
Run Code Online (Sandbox Code Playgroud)

创建这样的方法,其中Class<?>是一个泛型类对象持有者,并且?是一个通配符:

public void startSpecificActivity(Class<?> otherActivityClass) {
    Intent intent = new Intent(getApplicationContext(), otherActivityClass);
    startActivity(intent);
}
Run Code Online (Sandbox Code Playgroud)

而且我也鼓励使用contextYourActivityName.this当前的Activity,而不是getApplicationContext().