如何通过onClick方法启动多个activity

How to start multiple activity By onClick method

我正在做一个项目,我在 SwipeView 中用一个按钮显示多个图像。因此,无论何时单击按钮,都会根据图像在数组中的位置启动一个新的 activity。如何做到这一点?

在充气时为每个 ImageView 设置一个标签(与正在启动的 activity 相关),使用 setTag 方法。

在 onClick 处理程序中使用 getTag 方法检索标签。使用此信息启动所需的 activity,使用简单的 switch case .

标签可以是 activity 名称、数组索引等任何内容

更多信息:What is the main purpose of setTag() getTag() methods of View?

对于您列表中的每个项目,您需要一个 Class 参考,您希望在其上开始 Activity,然后分配点击侦听器以将 Class 传递给 Intent 然后 startActivity

假设你有一些 ArrayList<Class> listArrayAdapter<SomeObject> adapter,你可以

public void onClick(View v) {
    Class activityClass = list.get(clickPosition);
    // Class activityClass = adapter.getItem(clickPosition).getActivityToStart();
    Intent intent = new Intent(this, activityClass);
    startActivity(intent);
}

您还可以在视图上使用名称为 class 的字符串标记,但您需要捕获 ClassNotFoundException

public void onClick(View v) {
    String className = (String) v.getTag();
    Class activityClass = Class.forName(className);
    Intent intent = new Intent(this, activityClass);
    startActivity(intent);
}