【问题标题】:Simple Intent to change activity not working更改活动的简单意图不起作用
【发布时间】:2013-07-05 02:28:22
【问题描述】:

我正在尝试通过这样的意图将活动更改为打开嵌入式 Google 地图的片段活动:

Intent driver = new Intent(getApplicationContext(), DriverActivity.class);
startActivity(driver);

但是应用程序崩溃了,我最近从 Windows 上的 Eclipse 转移到了 Ubuntu 上的 Eclipse。我不明白为什么应用程序不会改变活动。调试器打开 layoutInflater.class,窗口内的消息是:Source not found

出了什么问题,我该如何解决?

07-04 19:47:09.828: E/AndroidRuntime(30884): FATAL EXCEPTION: main
07-04 19:47:09.828: E/AndroidRuntime(30884): java.lang.NoClassDefFoundError: com.google.android.gms.R$styleable
07-04 19:47:09.828: E/AndroidRuntime(30884):    at com.google.android.gms.maps.GoogleMapOptions.createFromAttributes(Unknown Source)
07-04 19:47:09.828: E/AndroidRuntime(30884):    at com.google.android.gms.maps.SupportMapFragment.onInflate(Unknown Source)
07-04 19:47:09.828: E/AndroidRuntime(30884):    at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:279)
07-04 19:47:09.828: E/AndroidRuntime(30884):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:676)
07-04 19:47:09.828: E/AndroidRuntime(30884):    at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
07-04 19:47:09.828: E/AndroidRuntime(30884):    at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
07-04 19:47:09.828: E/AndroidRuntime(30884):    at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
07-04 19:47:09.828: E/AndroidRuntime(30884):    at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
07-04 19:47:09.828: E/AndroidRuntime(30884):    at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:262)
07-04 19:47:09.828: E/AndroidRuntime(30884):    at android.app.Activity.setContentView(Activity.java:1867)
07-04 19:47:09.828: E/AndroidRuntime(30884):    at com.codele.blackcab.DriverActivity.onCreate(DriverActivity.java:51)
07-04 19:47:09.828: E/AndroidRuntime(30884):    at android.app.Activity.performCreate(Activity.java:5008)
07-04 19:47:09.828: E/AndroidRuntime(30884):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
07-04 19:47:09.828: E/AndroidRuntime(30884):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2035)
07-04 19:47:09.828: E/AndroidRuntime(30884):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2096)
07-04 19:47:09.828: E/AndroidRuntime(30884):    at android.app.ActivityThread.access$600(ActivityThread.java:138)
07-04 19:47:09.828: E/AndroidRuntime(30884):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1207)
07-04 19:47:09.828: E/AndroidRuntime(30884):    at android.os.Handler.dispatchMessage(Handler.java:99)
07-04 19:47:09.828: E/AndroidRuntime(30884):    at android.os.Looper.loop(Looper.java:213)
07-04 19:47:09.828: E/AndroidRuntime(30884):    at android.app.ActivityThread.main(ActivityThread.java:4787)
07-04 19:47:09.828: E/AndroidRuntime(30884):    at java.lang.reflect.Method.invokeNative(Native Method)
07-04 19:47:09.828: E/AndroidRuntime(30884):    at java.lang.reflect.Method.invoke(Method.java:511)
07-04 19:47:09.828: E/AndroidRuntime(30884):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
07-04 19:47:09.828: E/AndroidRuntime(30884):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:556)
07-04 19:47:09.828: E/AndroidRuntime(30884):    at dalvik.system.NativeStart.main(Native Method)

【问题讨论】:

  • 你在模拟器上玩google api吗?
  • 顺便说一句,不要将 getApplicationContext() 用于此类事情...而是使用当前上下文,例如 Activity。
  • @PozzoApps 我正在使用物理设备进行调试和部署

标签: android google-maps


【解决方案1】:

使用这个:

Intent driver = new Intent(this, DriverActivity.class);
startActivity(driver);

【讨论】:

  • 不工作,我收到 07-04 20:20:26.138: E/AndroidRuntime(3953): java.lang.NoClassDefFoundError: com.google.android.gms.R$styleable 但我的课程已在清单中注册
  • 确保您的活动文件中有该类。清理您的项目构建一次并尝试重新运行它。
猜你喜欢
  • 1970-01-01
  • 2018-08-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-13
  • 2011-09-11
  • 2019-02-20
相关资源
最近更新 更多