看起来我有一个较小的问题,但无法找到原因.在我的SherlockFragmentActivity onCreate中,我执行以下操作:
@Override
public void onCreate(final Bundle savedInstanceState)
{
requestWindowFeature(Window.FEATURE_PROGRESS);
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
super.onCreate(savedInstanceState);
Run Code Online (Sandbox Code Playgroud)
AndroidManifest.xml
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="15" />
Run Code Online (Sandbox Code Playgroud)
在加载一些数据的片段中,我做了一个简单的事情:
getSherlockActivity().setSupportProgressBarIndeterminateVisibility(true);
Run Code Online (Sandbox Code Playgroud)
所有在ICS上工作都很好,但在我的3.1平板电脑上运行的相同代码在请求时从不显示ProgressBar.任何人都可以给我一个提示,为什么会这样?
我在运行2.2的模拟器中也遇到了问题,没有显示进度.我再次查看Sherlock Samples中的FeatureToggles,相同的代码,不同的结果:/
PS:使用ActionBar Sherlock 4.01
android android-3.0-honeycomb actionbarsherlock android-actionbar progress-bar
我正在使用BitSets在Java中实现一个程序,我陷入了以下操作:
如果所有BitSet中有超过1个,则N BitSet返回BitSet为0,否则返回1
举个例子,假设我们有这3套:
00111
11100预期结果
对于以下几组:
00101
01000预期结果
我试图通过逐位操作来完成这个操作,并且我已经意识到我需要的是字面上的所有集合或者所有集合之间,但不是以迭代的方式,所以我很难接受该做什么.这甚至可能吗?
我想避免昂贵的解决方案,必须检查每组中的每个位,并为每个位置保留一个计数器......
谢谢你的帮助
编辑:有些人问,这是我正在研究的项目的一部分.我正在构建一个时间表生成器,基本上一个软约束是没有学生在1天内只有1个课程,所以这些集合代表每个小时的参加学生,我想过滤那些只有1个班级的学生.
生成任意特定长度的随机字符串。我知道这个问题已经被问过很多次了,我在下面编写了这段代码,我只是想知道是否有比我编写的下面的代码更好的方法?或者我们可以让下面的代码更高效吗?
public static void main(String[] args) {
String s = randomString(25);
System.out.println(s);
}
public static String randomString(final int length) {
StringBuilder sb = new StringBuilder();
Random r = new Random();
String subset = "0123456789abcdefghijklmnopqrstuvwxyz";
for (int i = 0; i < length; i++) {
int index = r.nextInt(subset.length());
char c = subset.charAt( index );
sb.append( c );
}
return sb.toString();
}
Run Code Online (Sandbox Code Playgroud) 是否有一个Android API提供正在运行的应用程序的CPU,内存使用?我想根据cpu使用情况动态调整应用程序中的处理.
我在安装了最新Java的Mac上.我安装了Eclipse 4.2.0,刚刚下载了Jelly Bean 4.1(API 16)SDK.一切都是最新的.
我启动一个新项目并使用所有默认模板和值.我只是简单地称我的应用程序为"MyApp".
当我将一个按钮从工具箱拖到WYSIWYG编辑器时,按钮显示正常,我可以编辑XML,一切都很好,等等.
但是当我拖动一个纯文本框时,我得到以下Java错误,我的整个WYSIWYG编辑器变灰了.如果我从XML中删除代码并重新启动Eclipse,那么我可以让它恢复原样的唯一方法就是这样.如果我重新粘贴代码,则会返回错误.
这是错误:
java.util.LinkedHashMap.eldest()Ljava/util/Map$Entry;
Exception details are logged in Window > Show View > Error Log
Run Code Online (Sandbox Code Playgroud)
以下是导致它的代码:
<EditText
android:id="@+id/editText1"
android:inputType="text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignTop="@+id/button1"
android:layout_marginLeft="55dp"
android:ems="10"
android:hint="@string/hello_world" >
<requestFocus />
</EditText>
Run Code Online (Sandbox Code Playgroud)
我知道Jelly Bean今天是全新的,但有没有人对这里可能发生的事情有任何想法?
其他人可以重复这个问题吗?
顺便说一句,我不会遇到其他文本字段类型的崩溃,如密码,人名等.只有纯文本.
编辑:
这是Eclipse的堆栈跟踪:
java.lang.NoSuchMethodError: java.util.LinkedHashMap.eldest()Ljava/util/Map$Entry;
at android.util.LruCache.trimToSize(LruCache.java:206)
at android.util.LruCache.evictAll(LruCache.java:306)
at android.widget.SpellChecker.resetSession(SpellChecker.java:141)
at android.widget.SpellChecker.setLocale(SpellChecker.java:147)
at android.widget.SpellChecker.<init>(SpellChecker.java:112)
at android.widget.Editor.updateSpellCheckSpans(Editor.java:461)
at android.widget.Editor.onAttachedToWindow(Editor.java:212)
at android.widget.TextView.onAttachedToWindow(TextView.java:4455)
at android.view.View.dispatchAttachedToWindow(View.java:11755)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2424)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2424)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2424)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2424)
at android.view.AttachInfo_Accessor.setAttachInfo(AttachInfo_Accessor.java:37)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:329)
at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:331)
at …
Run Code Online (Sandbox Code Playgroud) 我有一个应用程序,我正在为公司目录进行活动转换.选择搜索结果后,其照片到详细信息屏幕的动画将起作用.如果我点击后退按钮,则会发生反向动画.但是,如果我从工具栏中点击后退箭头,则不会发生反向动画.
详细信息屏幕是一个新的DetailActivity,其中包含一个名为DetailFragment的片段.我没有对"onBackPressed"做任何特别的事情.我可以做?
所以我想要启动一个Activity,它只是弹出一个对话框弹出框,告诉用户如何使用该应用程序.
我有代码:
private final View.OnClickListener btnClick = new View.OnClickListener() {
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.about_box:
Intent i = new Intent(this, About.class);
startActivity(i);
break;
}
}
}
Run Code Online (Sandbox Code Playgroud)
但意图给了我错误:
构造函数Intent(new View.OnClickListener(){},Class)未定义
有关解决方法的任何想法吗?
谢谢.
使用标准循环,我将子字符串与字符串值进行比较,如下所示:
if (str.substring(i, i+3) == "dog" ) dogcount++;
Run Code Online (Sandbox Code Playgroud)
它打破了迭代.在第一次增量之后,不会检测到"狗"的其他实例.
所以我使用substring.equals,这有效:
if (str.substring(i, i+3).equals("dog")) dogcount++;
Run Code Online (Sandbox Code Playgroud)
我的问题是,为什么?只是寻求更好的理解,thx.
道歉这是一个相当长的帖子,让我先尝试解释一下背景:
我已经阅读了很多关于这个主题的帖子(以及Alex关于这个主题的优秀博客文章),一般的结论似乎不是在异步回调中执行片段事务(参见Dianne的帖子),比如AsyncTask#onPostExecute()
.
但是我有2个案例需要这样做:
一个Activity
示出的登录Fragment
,当用户按下登录按钮,一个AsyncTask
开始于服务器进行认证,则返回登录成功那么当,登录Fragment
被替换为主要的应用程序Fragment
.
一个Activity
示出了主要的应用程序片段,当使用者触发,需要登录一些动作,登录片段替换被添加到堆栈中的主要片段.再次按下登录按钮时,AsyncTask
使用服务器进行身份验证,然后当登录成功时,我们要弹出backstack以Fragment
向用户显示主要内容并让他们执行他们想要执行的操作.
案例1可以通过使用来解决commitAllowingStateLoss
,但案例2很棘手,因为没有这种风格的popBackStack FragmentManager
.
在任何情况下,这两种情况都需要特殊处理应用程序进入后台AsyncTask#doInBackground()
,导致onPostExecute()
应用程序在后台时被调用.一种解决方案是使用Fragment.isResumed来保护替换片段或pop backstack,然后通过再次登录来处理进程被杀死的情况,或者保存一些指示成功的最近登录的标志并在应用程序恢复状态下替换/弹出登录片段(登录Fragment
已恢复到顶部FragmentManager
).或者允许状态丢失,并处理进程终止然后恢复的情况,检查最近登录并删除登录片段.
这是你如何处理这个?感觉就像处理一个非常常见的情况需要做很多工作.
android illegalstateexception android-fragments android-activity