小编And*_*cko的帖子

我怎么能用setRetainInstance(true)破坏碎片并将它们添加到backstack?

setRetainInstance上的文档说:

这只能用于不在后栈中的片段.

所以我开始玩它.

我有一个Activity添加第一个frag A

FragmentManager fm = getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.replace(R.id.content, new PackageFragment());
ft.commit
Run Code Online (Sandbox Code Playgroud)

然后从这个frag我运行一个父Activity的方法,它将frag B添加到backstack

FragmentManager fm = getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.replace(R.id.content, new OrderFragment());
ft.addToBackStack(null);
ft.commit();
Run Code Online (Sandbox Code Playgroud)

然后我从onCreate,onDestroy,onSaveInstanceState,onActivityCreated ......等创建log msg

我尝试了这个过程的两个版本.在每个片段上旋转设备.

  1. 默认

一切都如预期.onCreate,onDestroy on fragment fire

  1. setRetainInstance(真)

一切都如预期的那样?onCreate,onDestroy片段不要开火

当片段都在后台时,一切似乎都有效..所以为什么文档说我不应该使用它?我可能遇到麻烦的情况是什么?

谢谢

android android-fragments android-orientation

24
推荐指数
1
解决办法
4979
查看次数

点击片段会调用它背后的活动

我猜它的东西很简单,也许是listview或片段中的设置.但是我现在几个小时都找不到它的解决方案.那么..我有一个像这样的listView

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/content"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:isScrollContainer="true">

<ListView 
    android:id="@+id/list"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="#fffafa"
    />

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

当有人点击列表项时.我用这样的片段替换它

    FragmentManager manager = getSupportFragmentManager();
    FragmentTransaction ft = manager.beginTransaction();
    ft.replace(R.id.content, newFragment);

    ft.addToBackStack(null);
    ft.commit();
Run Code Online (Sandbox Code Playgroud)

如果我单击列表上的项目,整个列表将替换为由Button和几个文本字段组成的片段(*).Fragment使用有关该项的信息正确替换listView.当我按下它时,它会正确地返回列表视图.

问题是,如果我点击*的背景,它的行为好像我会点击它背后的列表..并将关于该项目的片段带到前面.我可以在背景上无休止地点击以带来其他片段.我可以通过点击返回,返回列表来回到列表中.

为什么这个片段是透明的?我怎样才能解决这个问题?

android android-listview android-fragments

15
推荐指数
3
解决办法
7926
查看次数

OneNote API 不返回新页面(即使通过 ms 图形资源管理器)

我是一个应用程序的创建者,该应用程序通过适用于 Android/iOS 的 Microsoft 图形 SDK 与 OneNote API 集成。我的几个用户报告说,新的 OneNote 笔记停止与应用程序同步(受此影响的还有数百个)。

我一直在调试这个。我可以确认 OneNote API 不会返回新页面。重现:

1) create some new notes

2) go to Graph Explorer (https://developer.microsoft.com/en-us/graph/graph-explorer/)

3) user basic query (https://graph.microsoft.com/v1.0/me/onenote/pages)
Run Code Online (Sandbox Code Playgroud)

即使几天后,也不会返回新页面。我的应用程序使用相同的端点来获取最新的页面。

如果有人能调查一下,我将不胜感激。我可以提供调试所需的所有数据。

旁注:官方 OneNote 应用程序可以正确查看笔记(在 iOS 和 Android 上)。


更新

MS Graph Explorer 开始显示 5 天前添加的注释(我们的用户报告相同)。因此,传播数据似乎有很长的延迟(官方 OneNote 应用程序几乎立即同步新页面)。收到 OneNote 团队对此的回应会很棒。

看起来类似的问题是 2 年前报道的

有没有办法克服 OneNote 客户端和 API 结果变化之间的滞后?

使用“FavorDataRecency”标头进行了测试,但仍然没有结果。


更新 2 (05.02.2020) 新笔记完全停止显示(即使在几周后测试)。有趣的是,如果我创建一个新部分,该部分会立即从 API 端点弹出(只是名称,没有注释)。

onenote onenote-api microsoft-graph-api

8
推荐指数
1
解决办法
564
查看次数

我可以将genymotion模拟器扩展为"设备实际大小"吗?

我刚开始使用genymotion而且我非常喜欢它.

让我感到沮丧的一件事是模拟器占用了大量的屏幕空间,并且包含在滚动窗口中......这使得它使用起来不太方便

我试图改变屏幕分辨率或者自己寻找某种选择,但没有运气

在sdk模拟器中有"缩放到实际设备大小"选项吗?

在此输入图像描述

UPDATE


当我启动genymotion二进制文件时,在控制台中获取以下内容

〜/ coding/genymotion $ sudo ./genymotion Genymotion日志文件:/home/u238/.Genymobile/genymotion.log播放器日志文件:/home/u238/.Genymobile/genymotion-player.log OpenGL连接到192.168.56.101:25000端口22468将用于OpenGL数据连接

模拟器显示约5秒..黑色屏幕右侧有白色ui按钮..然后它从屏幕消失

UPDATE

[facepalm]解决消失模拟器只需安装支持opengl 2的图形驱动程序 GenyMotion虚拟设备立即打开并消失

android android-emulator genymotion

7
推荐指数
1
解决办法
7606
查看次数

FireBase离线模式只能用于本地存储吗?

考虑一个允许免费版离线模式的博客应用程序.一旦用户订阅了付费版本,数据就会同步到firebase.

问题是 - 由于firebase具有脱机功能 - 查询数据时查询是否可以显式使用本地存储(如Parse)?(保存/读取).因此付费同步可能只是一个功能标志

因为通过浏览文档我可以看出,离线功能似乎只适用于"在线直到离线存储"方案

谢谢

android firebase

7
推荐指数
1
解决办法
1793
查看次数

我可以在SPARQL查询中组合本地和远程数据集吗?

我一直在阅读有关SPARQL和RDF的内容,如果我对这些技术的推理错误,请纠正我.

假设我们有一个名为LOCAL的本地SPARQL数据库..以及名为URL_RDF的远程RDF文件的url.我可以写一个脚本,让我们说在PHP中会执行这样的SPARQL查询吗?

伪代码.

SELECT * FROM LOCAL,URL_RDF WHERE LOCAL.id=URL_RDF.id
Run Code Online (Sandbox Code Playgroud)

换句话说,我可以在SPARQL查询中组合这样的源(远程文件+本地数据库)吗?

database w3c rdf sparql

6
推荐指数
1
解决办法
859
查看次数

在推出新的应用版本时,清单权限会发生变化

我们在清单中有3个权限 - 版本1.0 - 应用程序大约10k +下载.

我们添加了1个权限 - 版本1.1 - (不知道它将取消"自动更新"复选框)更新没有自动发生给用户.

问题:

  1. 如果我们使用相同的代码推出新版本1.2但删除1.1中添加的权限,用户会自动从1.0更新到1.2吗?

  2. 将应用程序恢复为1.0版本会为用户带回"自动更新"复选框吗?

android android-manifest google-play

6
推荐指数
1
解决办法
929
查看次数

将Parse javadoc添加到Android Studio

Parse将docs作为外部Parse-1.5.1-javadoc文件夹提供.

我想在Android Studio中连接Parse javadoc.我如何实现这一目标?

我正在使用AndroidStudio 0.6并解析1.5.1.

同样的问题: Android Studio:如何附加javadoc

Android问题跟踪器:https://code.google.com/p/android/issues/detail? id = 59220

javadoc parse-platform android-studio

6
推荐指数
1
解决办法
1716
查看次数

为什么Location.distanceBetween会为结果参数抛出异常?

为什么Location.distanceBetween使用以下示例抛出异常:

Location.distanceBetween(51.5175431381974,-0.1501073187713473, 51.5173695544231, -0.15127676190184, results);
Run Code Online (Sandbox Code Playgroud)

在这里检查了相同的位置,距离被报告为0.08319 km,我不确定为什么它会抛出异常:

java.lang.IllegalArgumentException: results is null or has length < 1
Run Code Online (Sandbox Code Playgroud)

gps android latitude-longitude

5
推荐指数
1
解决办法
1627
查看次数

无法获取提供者:ClassNotFoundException

我有MyContentProvider我的应用程序,当我开发和调试模式下运行,工作正常。

<provider android:name=".MyContentProvider"
        android:authorities="com.contactcities"
        android:exported="false">
</provider>
Run Code Online (Sandbox Code Playgroud)

但是当我导出应用程序,下载并运行它时,它立即崩溃:

10-10 18:24:37.682 E/AndroidRuntime(10428): FATAL EXCEPTION: main
10-10 18:24:37.682 E/AndroidRuntime(10428): java.lang.RuntimeException: Unable to get provider com.contactcities.MyContentProvider: java.lang.ClassNotFoundException: com.contactcities.MyContentProvider in loader dalvik.system.PathClassLoader[/system/framework/com.google.android.maps.jar:/data/app/com.contactcities-1.apk]
10-10 18:24:37.682 E/AndroidRuntime(10428): at android.app.ActivityThread.installProvider(ActivityThread.java:4509)
10-10 18:24:37.682 E/AndroidRuntime(10428): at android.app.ActivityThread.installContentProviders(ActivityThread.java:4281)
10-10 18:24:37.682 E/AndroidRuntime(10428): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4237)
10-10 18:24:37.682 E/AndroidRuntime(10428): at android.app.ActivityThread.access$3000(ActivityThread.java:125)
10-10 18:24:37.682 E/AndroidRuntime(10428): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2071)
10-10 18:24:37.682 E/AndroidRuntime(10428): at android.os.Handler.dispatchMessage(Handler.java:99)
10-10 18:24:37.682 E/AndroidRuntime(10428): at android.os.Looper.loop(Looper.java:123)
Run Code Online (Sandbox Code Playgroud)

我可以在我所有的设备上重现它,2.2、4.0、4.1

我今天已经阅读了许多主题。他们中的一些人为此指责 ProGuard。我试过添加

-keep public class com.contactcities.MyContentProvider
Run Code Online (Sandbox Code Playgroud)

但没有运气。

当我禁用 proguard 时,通过不放入proguard.config=proguard.cfg我的project.properties. 它仍然在发布版本中给出相同的错误。调试又好了。也许像那样禁用 …

android proguard android-contentprovider

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