这似乎是一个Android范围的问题,您可以在视图 - >进度条 - >对话框下的API演示中看到.
基本上,如果您显示进度对话框,它第一次就会按预期工作.如果你将其关闭并再次显示(不破坏活动或类似的东西),旋转的图像就会停止旋转.在API演示中,您可以通过单击"显示不确定",按向后关闭对话框,然后再次单击按钮来查看.
我已经尝试构建自己的进度对话框,但它显示了同样的问题,因为问题在于"ProgressBar"旋转图像.
我想知道是否有人有解决此问题的方法.
任务非常简单,但我还没有找到一个好的解决方案:一个字符串可以包含数字,短划线和加号,或者只包含数字.
^[0-9+-]+$
Run Code Online (Sandbox Code Playgroud)
除了当用户输入像"+ - + - +"这样的垃圾时,我需要做的大部分工作
我没有幸运的常规前瞻,因为破折号和优势可能在字符串中的任何位置.
有效字符串:
无效:
这是设置:
到目前为止,这是一个相当简单的设置,但我想将其中一个项目传递给另一个活动.Bundle有一个"pubExtra(String,Parcelable)"方法,我想用它将对象放在那里,然后通过intent传递.当我这样做时,由于OutOfMemoryException,设备开始关闭一个力.似乎在试图取消对象时,它要求~30mb(!)
似乎对象必须保持对其他东西的引用,因为对象本身只包含一些int/float/String字段和相关方法.我无法通过查看代码或调试检查器来跟踪它,我不知道如何有效地使用Heap查看器.
有什么建议?
这是堆栈跟踪
/dalvikvm-heap( 5876): Out of memory on a 29098436-byte allocation.
I/dalvikvm( 5876): "main" prio=5 tid=1 RUNNABLE
I/dalvikvm( 5876): | group="main" sCount=0 dsCount=0 s=N obj=0x4001d8d0 self=0xccc8
I/dalvikvm( 5876): | sysTid=5876 nice=0 sched=0/0 cgrp=default handle=-1345017816
I/dalvikvm( 5876): | schedstat=( 1107116708 1124999998 2626 )
I/dalvikvm( 5876): at java.util.ArrayList.<init>(ArrayList.java:~84)
I/dalvikvm( 5876): at android.os.Parcel.readArrayList(Parcel.java:1460)
I/dalvikvm( 5876): at android.os.Parcel.readValue(Parcel.java:1792)
I/dalvikvm( 5876): at android.os.Parcel.readMapInternal(Parcel.java:2007)
I/dalvikvm( 5876): at android.os.Bundle.unparcel(Bundle.java:208)
I/dalvikvm( 5876): at android.os.Bundle.containsKey(Bundle.java:249)
I/dalvikvm( 5876): at <mypackage>.BaseDetailsActivity.isInModifyState(BaseDetailsActivity.java:184)
I/dalvikvm( 5876): at <mypackage>.DetailsActivity.onCreate(DetailsActivity.java:230)
I/dalvikvm( …Run Code Online (Sandbox Code Playgroud)