比如我有10个activity,可能会有更多。
由于跳转到的activity不固定,由服务器端配置手机客户端的显示状况,而且activity的数量也不固定,所以不能用选择判断。
希望实现以下方式达成跳转。
Activity act = Activity.Parse("myActivity"); // myActivity是用jason传过来的参数
Intent intent = new Intent(this, act.class);
startActivity(intent);
想在就是想找个类似Parse之类的方法可使让字符串转成具体的类型来跳转。
由于跳转到的activity不固定,由服务器端配置手机客户端的显示状况,而且activity的数量也不固定,所以不能用选择判断。
希望实现以下方式达成跳转。
Activity act = Activity.Parse("myActivity"); // myActivity是用jason传过来的参数
Intent intent = new Intent(this, act.class);
startActivity(intent);
想在就是想找个类似Parse之类的方法可使让字符串转成具体的类型来跳转。
解决方案 »
- 在做一个简单的Android电子词典是,遇到英文单词音标不能正常显示,有谁帮忙看看?
- 请教 怎么给通讯录中的联系人添加头像
- app widget上面的一个button按钮,怎么可以捕获它的长按后者滑动呢?
- 图书馆里关于android的书!看看那本适合初学者
- 初次了解phonegap,有问题请教各位大神
- 用SurfaceView画大尺寸图片也会产生闪烁裂痕?
- 菜鸟才进入android,好多都不懂求指导。
- Android SDK Manager更新问题
- Android中调用系统摄像头的拍照页面,能屏蔽home键吗?
- 关于安卓httpURLConnection
- Intent怎么调用类中的方法?
- 连接中国移动CMCC WIFI 后,自动跳出登陆页面,是什么原理?
http://blog.csdn.net/elfylin/article/details/6001460
怎么会不固定的呢,那你是不是要先在AndroidManifest.xml注册呢?
intent.setClass(thisActivity.this, send);sendclass就是个字符串
Class activity = Class.forName("com.example.tt.newActivity");
Intent intent = new Intent(this, activity);
startActivity(intent);又找了一下资料,发现自带的方法也可以使用。
看起来内部就是使用反射实现的。
String strPackage = MainActivity.this.getPackageName();
intent.setComponent(new ComponentName(strPackage, strPackage + "." + "newActivity"));
startActivity(intent);
现在的问题是,使用反射需要这个异常。
public void button1Click(View v) throws ClassNotFoundException{
但是不太懂为什么要声明这个异常,就算不声明,不是出了异常也是一样的往外抛么?另外java的反射没用过,但是C#的反射就效率很差,不知道java的是不是也一样
这么简单的一个东西为什么搞那么复杂?为每个activity定义一个action很难吗?根据action来启动不比反射什么的方便点吗?
这么简单的一个东西为什么搞那么复杂?为每个activity定义一个action很难吗?根据action来启动不比反射什么的方便点吗?
肯定不会,以后代码你加一个activity就得再定义一个action,破坏封装。
用上面两种方法,添加新窗体不用定义action。
另外建好的窗体拿到别的程序里面用什么都不用修改。