小编Pro*_*uce的帖子

Android片段和动画

你应该如何实现那种例如Honeycomb Gmail客户端使用的滑动?

可以TransactionManager通过添加和删除片段自动处理这个,由于模拟器是幻灯片,所以很难测试这个:)

android android-fragments android-3.0-honeycomb

260
推荐指数
4
解决办法
23万
查看次数

获取json对象的大小

我有一个json对象,由AJAX请求返回,我遇到了一些麻烦,.length因为它一直在返回undefined.只是想知道我是否正确使用它:

console.log(data.length);
console.log(data.phones.length);
Run Code Online (Sandbox Code Playgroud)

它们都返回,undefined即使它们是有效的对象.

更新:
返回的JSON对象的示例:

{"reqStatus":true,"phones":{"one":{"number":"XXXXXXXXXX","type":"mobile"},"two":{"number":"XXXXXXXXXX","type":"mobile"}}}
Run Code Online (Sandbox Code Playgroud)

javascript json

224
推荐指数
6
解决办法
54万
查看次数

是否故意将PreferenceFragment排除在兼容性包之外?

我正在寻找可以应用于3.0和3.0之前的设备的首选项.发现PreferenceActivity包含已弃用的方法(虽然这些方法在随附的示例代码中使用),我查看PreferenceFragement了兼容性包以解决我的困境.

但是,它似乎PreferenceFragment不在兼容包中.谁能告诉我这是否是故意的?如果是这样,我可以轻松定位一系列设备(即<3.0和> = 3.0)还是我必须跳过篮球?如果没有故意排除,我们是否可以期待兼容包的新版本?或者是否有另一种可以安全使用的解决方法?

干杯

詹姆士

compatibility android android-3.0-honeycomb

153
推荐指数
6
解决办法
4万
查看次数

如何更新ActionBar中显示的菜单项?

我有一个活动,有2个片段.两者都是ListFragments,并且都将MenuItems贡献给菜单.我有一个MenuItem我设置了属性android:showAsAction让它显示为ActionBar上的一个按钮.哪个工作正常.

现在MenuItem依赖于状态.它是暂停/恢复菜单选项,用于暂停和恢复队列.我的问题是,当创建片段时,我无法弄清楚如何设置它的初始雕像.

它的状态取决于队列是否暂停.所以我有一个AsyncTask来获取队列并根据队列的状态设置一个布尔值(暂停).我正在调用PrepareOptionsMenu来根据队列的最后已知状态设置Pause菜单项的文本,如果我将MenuItem保留在实际菜单中,这将很有用.您点击菜单图标并触发onPrepareOptionsMenu,菜单会在显示之前更新.

问题是,如果我在ActionBar(showAsAction)上放置相同的MenuItem,如何强制它更新而不必调用onPrepareOptionsMenu?我需要能够这样做,因为在第一次启动应用程序时,我发送了一个获取队列的请求,但是在设置并显示ActionBar后,任务返回.我在我的片段中创建了一个处理程序,每次我获得队列更新时都会调用它,但是从那里,如何在ActionBar上更新我的MenuItem的文本?我似乎无法找到一种方法来获取当前设置的Menu来操作它,除了onPrepareOptionMenu.

罗布

android menu android-fragments android-actionbar

91
推荐指数
3
解决办法
10万
查看次数

片段中的MapView(Honeycomb)

既然最终的SDK已经推出google apis - 使用MapView创建片段的最佳方法是什么?MapView需要MapActivity才能正常工作.

让管理片段的Activity继承自MapActivity(糟糕的解决方案,因为它违背了Fragments自包含的想法)并使用常规的基于xml的布局不起作用.我在MapActivity.setupMapView()中得到一个NullPointerException:

E/AndroidRuntime(  597): Caused by: java.lang.NullPointerException
E/AndroidRuntime(  597):    at com.google.android.maps.MapActivity.setupMapView(MapActivity.java:400)
E/AndroidRuntime(  597):    at com.google.android.maps.MapView.(MapView.java:289)
E/AndroidRuntime(  597):    at com.google.android.maps.MapView.(MapView.java:264)
E/AndroidRuntime(  597):    at com.google.android.maps.MapView.(MapView.java:247)

我的第二个想法是以编程方式创建MapView并将关联的活动(通过getActivity())作为Context传递给MapView构造函数.不起作用:

E/AndroidRuntime(  834): Caused by: java.lang.IllegalArgumentException: MapViews can only be created inside instances of MapActivity.
E/AndroidRuntime(  834):    at com.google.android.maps.MapView.(MapView.java:291)
E/AndroidRuntime(  834):    at com.google.android.maps.MapView.(MapView.java:235)
E/AndroidRuntime(  834):    at de.foo.FinderMapFragment.onCreateView(FinderMapFragment.java:225)
E/AndroidRuntime(  834):    at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:708)
E/AndroidRuntime(  834):    at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:900)
E/AndroidRuntime(  834):    at android.app.FragmentManagerImpl.addFragment(FragmentManager.java:978)
E/AndroidRuntime(  834):    at android.app.Activity.onCreateView(Activity.java:4090)
E/AndroidRuntime(  834):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:664)

真的应该有类似MapFragment的东西来处理MapView需要的后台线程我猜...那么目前最好的做法是什么呢?

感谢和问候来自德国,Valentin

android google-maps android-maps android-fragments android-3.0-honeycomb

81
推荐指数
4
解决办法
4万
查看次数

如何在片段之间传递数据

我试图在程序中的两个fragmens之间传递数据.它只是一个存储在List中的简单字符串.List在片段A中公开,当用户点击列表项时,我需要它显示在片段B中.内容提供者似乎只支持ID,因此不起作用.有什么建议?

android android-fragments

75
推荐指数
6
解决办法
15万
查看次数

动画片段和后台堆栈

我无法使用或了解如何从后台堆栈中弹出FragmentTransactions来处理自定义动画.具体来说,我希望它能够调用"out"动画,但似乎并没有.

我有一个简单的方法来处理片段事务(FragmentTransaction),我在其中添加片段并应用自定义转换以使其淡入/淡出.我还将此添加到后台堆栈,以便用户可以使用后退按钮撤消该事务,实际上导航到添加片段之前的状态.

protected void changeFragment() { 
    FragmentTransaction ft = fm.beginTransaction(); 
    ft.setCustomAnimations(android.R.anim.fade_in, android.R.anim.fade_out); 
    ft.add(R.id.fragment_container, new TestFragment()); 
    ft.addToBackStack(null); 
    ft.commit(); 
} 
Run Code Online (Sandbox Code Playgroud)

一切都很好地向前发展,但当用户点击后退按钮时,过渡动画不会反转.我所期待的是当片段被删除时,它将使用淡出动画.相反它似乎弹出(没有动画),然后容器似乎淡入.我不确定这是发生了什么,但片段绝对不会淡出.

我的应用程序使用兼容性库来添加片段支持,但我认为这也适用于Honeycomb(android-11).有谁知道我在这里做错了什么,或者我只是期待太多?理想情况下,我想为片段设置动画,类似于Gmail(在Xoom上)通过单击消息然后使用后退按钮向后移动的方式.最好不必覆盖后退按钮功能并跟上我自己的片段状态,因为我可能有几个"交易",我想要退出,我不是重新发明轮子的粉丝.

Android开发者小组也问过:http://groups.google.com/group/android-developers/browse_thread/thread/1136a3a70fa0b6e9

animation android transactions transitions android-fragments

54
推荐指数
3
解决办法
3万
查看次数

如何防止Map中的空值和bean内的空字段通过Jackson序列化

Map<String,Foo> foosMap想要通过杰克逊序列化.现在我想在序列化过程中遵循两个设置:

  1. Map可以有很多空值和null键,我不希望空序列化.
  2. 对于所有那些被序列化的Foo,我不想序列化Foo中引用的null对象.

实现这一目标的最佳方法是什么?我在我的项目中使用jackson-core1.9和jackson-mapper1.9罐子.

java json jackson

50
推荐指数
2
解决办法
10万
查看次数

Android:如何在编辑文本中设置密码属性?

我需要在我的Android应用程序中创建一个带有'用户名''密码'字段和两个按钮'login'和'cancel'的登录表单.

我正在使用带有edittext的警告对话框.

这是我用来创建密码edittext的代码..

     final EditText Password = new EditText(this);
     Password.setGravity(Gravity.CENTER);
     Password.setHint("Password");
     Password.setWidth(200);

     Password.setTransformationMethod(new PasswordTransformationMethod());
     login_alert.addView(Password);
Run Code Online (Sandbox Code Playgroud)

我的问题是,当我打开软键盘来编辑密码时,会显示纯文本而不是'点'.(不在softkeypad模式时显示为点)

谁有人建议解决方案?

android android-edittext

46
推荐指数
4
解决办法
11万
查看次数

ActionBar背景图片

我继承了Holo Light主题并使用以下内容自定义ActionBar的背景:

styles.xml的内容

<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="ActionBar" parent="@android:style/Widget.Holo.ActionBar">
<item name="android:background">@drawable/actionbar_background</item>
</style>
<style name="MyTheme" parent="@android:style/Theme.Holo.Light">
<item name="android:actionBarStyle">@style/ActionBar</item>
</style>
</resources>
Run Code Online (Sandbox Code Playgroud)

actionbar_background.xml的内容

<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@raw/actionbar_background"
android:tileMode="repeat" />
Run Code Online (Sandbox Code Playgroud)

图像被拉伸,而不是重复,任何想法为什么android:tileMode ="重复"不适用?

提前致谢

android android-3.0-honeycomb android-actionbar

44
推荐指数
3
解决办法
7万
查看次数