小编Pro*_*uce的帖子

如何更改片段内的视图?

我有一个片段,可以像你期望的那样在onCreateView中创建它的视图.但是我想定期更改视图.

我的用例是片段显示来自Web服务的一些数据.当用户从列表(另一个片段)中选择一个选项时,此片段应切换到进度条,然后一旦加载,切换回数据视图.

我可以创建两个片段 - 加载片段和显示片段,但似乎因为这是一个封装的事件,我宁愿在一个片段内完成所有操作.

基本上我要问的是,片段内的setContentView是等价的.

android android-fragments

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

Android:从后台堆栈中删除所有FragmentTransactions

我在一个选项卡中向后堆栈添加了一堆FragmentTransactions,当用户选择不同的Tab时,我想从后堆栈中清除它们.我找不到一种方法来清除后台堆栈中的东西,只有方法将它们弹出,这些甚至不会将Fragment返回给你,所以你可以关闭它们.有任何想法吗?

android android-fragments

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

使用gson解析嵌套的JSON

{
    "Response": {
        "MetaInfo": {
            "Timestamp": "2011-11-21T14:55:06.556Z"
        },
        "View": [
            {
                "_type": "SearchResultsViewType",
                "ViewId": 0,
                "Result": [
                    {
                        "Relevance": 0.56,
                        "MatchQuality": {
                            "Country": 1,
                            "State": 1,
                            "County": 1,
                            "City": 1,
                            "PostalCode": 1
                        },
                        "Location": {
                            "LocationType": "point",
                            "DisplayPosition": {
                                "Latitude": 50.1105,
                                "Longitude": 8.684
                            },
                            "MapView": {
                                "_type": "GeoBoundingBoxType",
                                "TopLeft": {
                                    "Latitude": 50.1194932,
                                    "Longitude": 8.6699768
                                },
                                "BottomRight": {
                                    "Latitude": 50.1015068,
                                    "Longitude": 8.6980232
                                }
                            },
                            "Address": {
                                "Country": "DEU",
                                "State": "Hessen",
                                "County": "Frankfurt am Main",
                                "City": "Frankfurt am Main",
                                "District": "Frankfurt am …
Run Code Online (Sandbox Code Playgroud)

java json gson

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

在ListFragment中添加Header的最佳位置

我在列表中设置自定义标题时遇到了一些麻烦.

我正在使用自定义适配器创建ListFragment.我的列表工作正常,但我正在试图找出片段的生命周期中附加标题的位置.

我知道在设置适配器之前必须添加标头.

我尝试在onActivityCreated中添加我的标题,但是每次我的Fragment从backstack返回时都会调用它,并且因为我还在onActivityCreated中设置了我的适配器,所以它失败了.

我尝试在onCreate中添加它,但视图层次结构在生命周期的那个阶段不可用.

我尝试在onCreateView中添加它,但我无法将从inflate返回的视图转换为ListView.所以我无法将标题添加到香草视图中.

有什么想法吗?

android listview header adapter android-fragments

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

Spring/json:转换类似List <MyPojo>的类型集合

我正在尝试List<Pojo>通过Spring Rest模板封送列表:对象.

我可以传递简单的Pojo对象,但我找不到任何描述如何发送List<Pojo>对象的文档.

Spring正在使用Jackson JSON来实现HttpMessageConverter.杰克逊的文档涵盖了这一点:

除了绑定到POJO和"简单"类型之外,还有一个附加变体:绑定到通用(类型)容器的变体.这种情况需要特殊处理,因为所谓的类型擦除(Java用于以某种向后兼容的方式实现泛型),这会阻止您使用类似 Collection<String>.class(不能编译)的东西.

因此,如果要将数据绑定到a Map<String,User>,则需要使用:

Map<String,User> result = mapper.readValue(src, new TypeReference<Map<String,User>>() {});

其中TypeReference只需要通过通用类型定义(经由anynomous内部类在这种情况下):在重要的部分是 <Map<String,User>>限定类型结合.

这可以在Spring模板中完成吗?我瞥了一眼代码,它让我不是,但也许我只是不知道一些技巧.


由于下面的有用答案,最终解决方案是不发送List,而是发送一个简单扩展List的对象,例如:class PojoList extends ArrayList<Pojo>.Spring可以成功封送这个Object,它完成了与发送一样的东西List<Pojo>,尽管它不是一个简洁的解决方案.我还在春季发布了一个JIRA,以便他们在HttpMessageConverter界面中解决这个缺点.

java collections spring spring-mvc jackson

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

将菜单项定位在Honeycomb中ActionBar的左侧

我想在Honycomb的ActionBar左侧放置一些菜单项,但是没有找到显示如何执行此操作的文档.看起来它应该是可能的,因为联系人应用程序搜索到导航栏的左侧.有关如何将菜单项设置到左侧的任何想法?

android android-3.0-honeycomb android-actionbar

31
推荐指数
2
解决办法
5万
查看次数

蜂窝和向后兼容的策略

所以我们已经看到了预览sdk以及像ActionBar和Fragments这样的新东西.制作大量的方法调用将不可避免地使用这些,所以有什么策略可以维护1个版本的应用程序,这将让我使用所有时髦的新东西,但也可以在2.3或更低版本的设备上工作?我的应用目标目标是1.5 - 2.3.

android backwards-compatibility android-3.0-honeycomb

30
推荐指数
1
解决办法
7468
查看次数

配置Jackson以反序列化单引号(无效)JSON

我是使用杰克逊图书馆的新手.

我试图这样做[见下文],它正在抛出错误.

String x="{'candidateId':'k','candEducationId':1,'activitiesSocieties':'Activities for cand1'}";
ObjectMapper mapper = new ObjectMapper();

try {
    JsonNode df=mapper.readValue(x,JsonNode.class);
    int i=0;
} catch .....
Run Code Online (Sandbox Code Playgroud)

例外:

org.codehaus.jackson.JsonParseException: Unexpected character (''' (code 39)): was expecting double-quote to start field name
at [Source: java.io.StringReader@1afd1810; line: 1, column: 3]
  at org.codehaus.jackson.JsonParser._constructError(JsonParser.java:1291)
Run Code Online (Sandbox Code Playgroud)

如果我用双引号(")替换单引号('),同样的事情也有效.

java jackson

29
推荐指数
2
解决办法
5万
查看次数

可以在Galaxy Tab中安装Eclipse IDE吗?

由于Eclipse可以在Linux中运行,而且这款平板电脑具有新的Honeycomb(Linux内核),Eclipse IDE可以在Android Honeycomb中运行吗?

我知道在平板电脑中编码并不是很舒服,但我想用于UML建模.

eclipse android tablet galaxy android-3.0-honeycomb

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

无法通过ActivityInstrumentationTestCase2测试FragmentActivity

我在使用最近发布的Fragment支持API的Android应用程序执行android单元测试时遇到问题.对FragmentActivity运行测试时,日志中会显示以下错误,并且无法加载类.当针对相同的类运行,但是从Activity派生的那个时,测试工作正常.这两个类都可以正常用作应用!这意味着只需调用它们就可以正确显示它们的布局和功能.支持jar是构建路径的一部分,并包含在项目中.

我遇到的问题是利用片段(并支持pre3.0 android)的唯一方法是利用FragmentActivity,但如果不包括自动化测试那么这个库有什么用处.

4-05 18:00:11.276: WARN/dalvikvm(1095): Class resolved by unexpected DEX: Lcom/example/android/app/FragmentLayoutSupport;(0x406351a0):0x12e5c8 ref [Landroid/support/v4/app/FragmentActivity;] Landroid/support/v4/app/FragmentActivity;(0x406351a0):0x12e440
04-05 18:00:11.276: WARN/dalvikvm(1095): (Lcom/example/android/app/FragmentLayoutSupport; had used a different Landroid/support/v4/app/FragmentActivity; during pre-verification)
04-05 18:00:11.286: WARN/dalvikvm(1095): Unable to resolve superclass of Lcom/example/android/app/FragmentLayoutSupport; (49)
04-05 18:00:11.286: WARN/dalvikvm(1095): Link of class 'Lcom/example/android/app/FragmentLayoutSupport;' failed
04-05 18:00:11.286: ERROR/dalvikvm(1095): Could not find class 'com.example.android.app.FragmentLayoutSupport', referenced from method com.example.android.app.test.FrameLayoutTest.<init>
04-05 18:00:11.286: WARN/dalvikvm(1095): VFY: unable to resolve const-class 131 (Lcom/example/android/app/FragmentLayoutSupport;) in Lcom/example/android/app/test/FrameLayoutTest;
Run Code Online (Sandbox Code Playgroud)

这是我为证明问题而构建的代码.测试用例只是尝试实例化测试中的类:

FrameLayoutTest.java    
public class FrameLayoutTest extends
            ActivityInstrumentationTestCase2<FragmentLayoutSupport> {
        public FrameLayoutTest() {
            super(FragmentLayoutSupport.class); …
Run Code Online (Sandbox Code Playgroud)

junit android android-fragments android-support-library

28
推荐指数
1
解决办法
1万
查看次数