可不可以做到不在onItemClick()方法中以switch的方法定义每一项item的intent目标,
而是在init的时候传入一个可以得到 nextActivity.class(需要转跳的activity的值),然后在onItemClick里写intent的时候只要get到那个值?
我试了一下,遇到了问题。
下面是我自定义的一个类
public class HomePageList {
private String name;
private int imageId;
private Class<Activity> nextactivity;
public HomePageList(String name, int imageId, Class<Activity> nextactivity) {
this.name = name;
this.imageId = imageId;
this.nextactivity = nextactivity;
}
public String getName() {
return name;
}
public int getImageId() {
return imageId;
}
public Class<XzdtActivity> getNextactivity() {
return nextactivity;
}
}
这里是我的MainActivity
private List<HomePageList> homepagelist = new ArrayList<HomePageList>();
......
listView.setOnItemClickListener(new OnItemClickListener(){
public void onItemClick(AdapterView<?> parent,View view,int position,long id){
HomePageList homepage = homepagelist.get(position);
Intent intent = new Intent(MainActivity.this,homepage.getNextactivity());
startActivity(intent);
}
});
/*在这里遇到问题了,我的下一个Activity是XzdtActivity,然而这样填写的话,他让我把自定义的HomePageList类中nextactivity的类型改成Class<XzdtActivity>,这样其他的Activity都不能传入了,这要怎么解决呢?*/
private void initHomePages() {
HomePageList itme1 = new HomePageList("小镇大厅", R.drawable.common_36_icon,XzdtActivity.class);
homepagelist.add(itme1);
.......
}
请问能不能修改一下让这个方法做到可行的程度?