问题标签 [android-loader]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 每次附加 Fragment 时是否需要重新初始化 Loader?
我意识到,如果Loader
已经在 a 中初始化Fragment
并且Fragment
已经添加到 中FragmentManager
,那么Loader
onLoadFinished
每次附加片段时都会调用该方法,即使我没有明确调用getLoaderManager().initLoader(0, null, this)
.
这是否意味着一旦 aLoader
被初始化,除非重新创建它,否则我真的不需要再次初始化它Fragment
?
android - Android:无法在 WebView 中加载具有 javascript 文件的简单 html 数据?
在我的项目中,我正在使用融合图表。我正在制作一个 html 字符串数据并将其加载到 WebView 中,如上面的代码示例所示。当我在浏览器中运行此 html 文件时,它会运行并制作 Fusion 图表,但是当我使用 android Web 视图执行此操作时,它不会加载到我的 Web 视图中。我已经启用了 javascript。我将javascript文件粘贴到资产文件夹中。
android - 带有加载器的 TabsPager 中的多个片段,滑动有效,点击无效
我正在使用ActionBarSherlock 示例进行构建。我有 3 个片段(每个扩展SherlockListFragment
和实现LoaderManager.LoaderCallbacks<>
),每个选项卡中有 1 个。他们都使用装载机。选项卡 2 和 3 使用相同的加载器类(我认为这不是问题)。
我将选项卡添加到我的选项卡中,FragmentPagerAdapter
其中包含对不同片段的类引用,如果需要,还包括捆绑包。当我的应用程序启动并显示选项卡 0 时,getItem inFragmentPagerAdapter
通过创建它们的片段来准备选项卡 0 和选项卡 1。选项卡 2 尚未创建。当我滑动到选项卡 1 时,会加载选项卡 2。当我再次滑动时,选项卡 2 正确显示。
当我从 tab 0 单击到 tab 2 时,会出现问题。getItem
确实创建了片段,并且加载器开始了它的doInBackground
处理,但是选项卡 2 的片段永远不会在 onLoadFinished 中获取数据,因此与不确定的进度条保持一致。
之前发生了一些奇怪的事情。如果我单击,选项卡 2onLoadFinished
将从选项卡 0 的加载器接收数据。当我将每个选项卡的片段加载器更改为使用不同的 ID 时(我认为即使它们具有相同的 ID,它们也不应该发生冲突),问题就消失了。例如:getLoaderManager().initLoader(0, null, this)
,getLoaderManager().initLoader(1, null, this)
等。我不确定这是否只是说明我对装载机或其他东西的无知。
我的主要问题是,我可以强制FragmentPagerAdapter
一次加载所有标签吗?即使这样做也可能不会完全消除我的代码中的这个错误。
第二个问题:当我四处滑动并单击刷新(请参阅下面的代码以了解其作用)时,操作栏中的刷新按钮最终会消失。有什么想法吗?
MainActivity(非常类似于链接的 ABS 示例):
Tab0 片段(与其他片段非常相似,因此我将省略其他片段):
Tab0 加载器(与其他加载器非常相似,因此我将省略其他加载器):
适配器非常基本,我相信它们不是问题。如果有人问我可以提供更多代码,但我认为这已经足够了。 提前感谢您的帮助。
更新:
当我简单地替换FragmentPagerAdapter
它FragmentStatePagerAdapter
时。我看到它在FragmentPagerAdapter getItem is not called中引用。我的代码和使用有什么问题FragmentPagerAdapter
?
android - CursorLoader 连接到错误的 ContentProvider
问题
CursorLoader 实例化似乎使用了先前 CursorLoader 的 URI,而不是作为参数传入的 URI。
给出以下错误:
课程
- DeckIndex.java - 负责查询数据库“甲板”表并返回甲板的游标数组。
- DeckShow.java - 负责查询数据库“flashcard”表并返回一个Cursor数组的flashcards。
- AducardOpenHelper.java - 负责数据库的 DDL 和创建。
- DecksProvider - 负责“甲板”表的 CRUD
- FlashcardsProvider - 负责“flashcard”表的 CRUD
解释
正在传递的 URI:
我知道这是由 DecksProvider 而不是 FlashcardsProvider 处理的。
以及 FlashcardsProvider 中的 UriMatcher:
我认为重要的是要提到首先调用 DecksIndex 类,因此对 DeckProvider 的调用成功完成。直到我在调用 DeckShow onCreate 方法时单击其中一个牌组(它启动了 DeckShow 活动):
并发生错误。
LoaderManager 初始化行:
甲板索引.java
甲板秀.java
感谢您查看我的问题,如果有任何其他详细信息或代码有帮助,请告诉我!
android - 加载更多 - 只有创建视图层次结构的原始线程才能接触其视图
我的应用程序使用 GridView 从 JSON 获取图像。一切都很好,但现在我想通过单击按钮来加载更多内容。我按照本教程Android ListView 和 Load More Button进行操作。当我关注它时,我使用runOnUiThread(new Runnable() {
public void run() { } }
了doInBackground
但它错误NetworkOnMainThreadException
我知道这是因为我在 UI 线程上运行它。但是当我删除时runOnUiThread...
,它也会出错
我该如何解决这个错误?完整来源http://pastie.org/5659969
首次加载时的 AsyncTask
使用按钮单击以加载更多时的 AsycTask
android - Android Loaders 生命周期,或者:onStopLoading() 是否总是在 onReset() 之前调用?
有没有直接在它之前onReset()
调用而被调用的情况?onStopLoading()
更一般地说,我试图弄清楚加载器的生命周期,a-la活动生命周期图表,以及哪个onSomething()
在 Activity/Fragment 的生命周期状态的哪个状态中运行。