如何通过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> list
或 ArrayAdapter<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);
}
我正在做一个项目,我在 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> list
或 ArrayAdapter<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);
}