我需要使用此代码将带有 Intent 的长 (_id) 从 Activity A 传递到 Activity B:
Intent vip0= new Intent(this, PageSinglePlayerGuess.class);
vip0.putExtra("resid", (long) 1);
startActivity(vip0);
并使用此方法(在 onCreate() 中调用)在 Activity B 中获取它:
public long getResId() {
Intent i= getIntent();
resid= i.getLongExtra("resid", 1);
Log.d("D", "Risorsa: " + resid);
return resid;
}
驻留在ActB 中的是一个long。 我收到此错误:
06-06 11:10:47.138: W/Bundle(538): Key resid expected Long but value was a java.lang.Integer. The default value 1 was returned.
06-06 11:10:47.158: W/Bundle(538): Attempt to cast generated internal exception:
06-06 11:10:47.158: W/Bundle(538): java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Long
06-06 11:10:47.158: W/Bundle(538): at android.os.Bundle.getLong(Bundle.java:966)
06-06 11:10:47.158: W/Bundle(538): at android.content.Intent.getLongExtra(Intent.java:3874)
06-06 11:10:47.158: W/Bundle(538): at com.gmail.corsalini.celebrityquiz.PageSinglePlayerGuess.getResId(PageSinglePlayerGuess.java:60)
06-06 11:10:47.158: W/Bundle(538): at com.gmail.corsalini.celebrityquiz.PageSinglePlayerGuess.onCreate(PageSinglePlayerGuess.java:46)
06-06 11:10:47.158: W/Bundle(538): at android.app.Activity.performCreate(Activity.java:4465)
06-06 11:10:47.158: W/Bundle(538): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
06-06 11:10:47.158: W/Bundle(538): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)
06-06 11:10:47.158: W/Bundle(538): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
06-06 11:10:47.158: W/Bundle(538): at android.app.ActivityThread.access$600(ActivityThread.java:123)
06-06 11:10:47.158: W/Bundle(538): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
06-06 11:10:47.158: W/Bundle(538): at android.os.Handler.dispatchMessage(Handler.java:99)
06-06 11:10:47.158: W/Bundle(538): at android.os.Looper.loop(Looper.java:137)
06-06 11:10:47.158: W/Bundle(538): at android.app.ActivityThread.main(ActivityThread.java:4424)
06-06 11:10:47.158: W/Bundle(538): at java.lang.reflect.Method.invokeNative(Native Method)
06-06 11:10:47.158: W/Bundle(538): at java.lang.reflect.Method.invoke(Method.java:511)
06-06 11:10:47.158: W/Bundle(538): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
06-06 11:10:47.158: W/Bundle(538): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
06-06 11:10:47.158: W/Bundle(538): at dalvik.system.NativeStart.main(Native Method)
知道如何解决这个问题吗? (看起来真的很容易,但我就是出不来)
最佳答案
根据日志,问题似乎出在以下地方:
resid= i.getLongExtra("resid", 1);
所以改成:
resid= i.getLongExtra("resid", 1L);
顺便说一句:getLongExtra 实现看起来像这样:
public long getLongExtra(String name, long defaultValue) {
return mExtras == null ? defaultValue : mExtras.getLong(name, defaultValue);
}
这就是为什么看到它在行失败的原因:
at android.os.Bundle.getLong(Bundle.java:966)
关于java - 有意传递很长时间,总是出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10913165/
我正在尝试在我的centos服务器上安装therubyracer,但遇到了麻烦。$geminstalltherubyracerBuildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingtherubyracer:ERROR:Failedtobuildgemnativeextension./usr/local/rvm/rubies/ruby-1.9.3-p125/bin/rubyextconf.rbcheckingformain()in-lpthread...yescheckingforv8.h...no***e
我真的很习惯使用Ruby编写以下代码:my_hash={}my_hash['test']=1Java中对应的数据结构是什么? 最佳答案 HashMapmap=newHashMap();map.put("test",1);我假设? 关于java-等价于Java中的RubyHash,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/22737685/
我正在学习Rails,并阅读了关于乐观锁的内容。我已将类型为integer的lock_version列添加到我的articles表中。但现在每当我第一次尝试更新记录时,我都会收到StaleObjectError异常。这是我的迁移:classAddLockVersionToArticle当我尝试通过Rails控制台更新文章时:article=Article.first=>#我这样做:article.title="newtitle"article.save我明白了:(0.3ms)begintransaction(0.3ms)UPDATE"articles"SET"title"='dwdwd
我没有找到太多关于如何执行此操作的信息,尽管有很多关于如何使用像这样的redirect_to将参数传递给重定向的建议:action=>'something',:controller=>'something'在我的应用程序中,我在路由文件中有以下内容match'profile'=>'User#show'我的表演Action是这样的defshow@user=User.find(params[:user])@title=@user.first_nameend重定向发生在同一个用户Controller中,就像这样defregister@title="Registration"@user=Use
我正在尝试使用boilerpipe来自JRuby。我看过guide从JRuby调用Java,并成功地将它与另一个Java包一起使用,但无法弄清楚为什么同样的东西不能用于boilerpipe。我正在尝试基本上从JRuby中执行与此Java等效的操作:URLurl=newURL("http://www.example.com/some-location/index.html");Stringtext=ArticleExtractor.INSTANCE.getText(url);在JRuby中试过这个:require'java'url=java.net.URL.new("http://www
我正在使用RubyonRails3.0.9,我想生成一个传递一些自定义参数的link_toURL。也就是说,有一个articles_path(www.my_web_site_name.com/articles)我想生成如下内容:link_to'Samplelinktitle',...#HereIshouldimplementthecode#=>'http://www.my_web_site_name.com/articles?param1=value1¶m2=value2&...我如何编写link_to语句“alàRubyonRailsWay”以实现该目的?如果我想通过传递一些
我只想对我一直在思考的这个问题有其他意见,例如我有classuser_controller和classuserclassUserattr_accessor:name,:usernameendclassUserController//dosomethingaboutanythingaboutusersend问题是我的User类中是否应该有逻辑user=User.newuser.do_something(user1)oritshouldbeuser_controller=UserController.newuser_controller.do_something(user1,user2)我
什么是ruby的rack或python的Java的wsgi?还有一个路由库。 最佳答案 来自Python标准PEP333:Bycontrast,althoughJavahasjustasmanywebapplicationframeworksavailable,Java's"servlet"APImakesitpossibleforapplicationswrittenwithanyJavawebapplicationframeworktoruninanywebserverthatsupportstheservletAPI.ht
如何在Ruby中按名称传递函数?(我使用Ruby才几个小时,所以我还在想办法。)nums=[1,2,3,4]#Thisworks,butismoreverbosethanI'dlikenums.eachdo|i|putsiend#InJS,Icouldjustdosomethinglike:#nums.forEach(console.log)#InF#,itwouldbesomethinglike:#List.iternums(printf"%A")#InRuby,IwishIcoulddosomethinglike:nums.eachputs在Ruby中能不能做到类似的简洁?我可以只
这篇文章是继上一篇文章“Observability:从零开始创建Java微服务并监控它(一)”的续篇。在上一篇文章中,我们讲述了如何创建一个Javaweb应用,并使用Filebeat来收集应用所生成的日志。在今天的文章中,我来详述如何收集应用的指标,使用APM来监控应用并监督web服务的在线情况。源码可以在地址 https://github.com/liu-xiao-guo/java_observability 进行下载。摄入指标指标被视为可以随时更改的时间点值。当前请求的数量可以改变任何毫秒。你可能有1000个请求的峰值,然后一切都回到一个请求。这也意味着这些指标可能不准确,你还想提取最小/