問題タブ [android-loadermanager]

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.

0 投票する
3 に答える
5765 参照

android - Android ハニカムのローダー

Android 3.0 での使用方法を理解しようとしてLoadersいますが、動作しないようです。ドキュメントは使用についてのみ説明していますCursorLoaderが、私は使用していAsyncTaskLoaderます。

ドキュメントからは、実装するだけでよいようですが、コールバックでローダーを作成したAsyncTaskLoader.loadInBackground()後に呼び出されることはありません。getLoaderManager().initLoader()

Created new loader LoaderInfo{4040a828 #0 : ArticleDataLoader{4036b350}}正常に作成されたように見えるデバッグ メッセージが表示されます。

現在、SDK でローダーが壊れている可能性はありますか? または、ローダーを作成した後に呼び出す必要があるメソッドはありますか? (このCursorLoader例ではそれを行っていません)。

forceLoad()編集:から返されたローダーを呼び出すと、initLoader()少なくとも読み込みが開始されるようですが、これは回転を正しく処理できないことを意味します:(

0 投票する
1 に答える
3163 参照

android - AndroidListFragmentカーソル管理

AndroidアプリにListFragmentとLoaderClassを使用したいと思います。(ハニカムレベルのSDK、ただしGoogleリリースの比較可能性パッケージ)

Fragmentでは、FragmemtライフサイクルでカーソルAPIを管理していますか?

アクティビティには「startManagingCursor(Cursorc)」があります

また

フラグメントは、そのライフサイクルでカーソルを自動的に管理しますか?

0 投票する
1 に答える
4584 参照

android - Android 互換パッケージと getLoaderManager()

Android 互換パッケージは LoaderManager をサポートすると言われています。LoaderManager のインスタンスを取得するにはどうすればよいですか? FragmentActivity に getLoaderManager() メソッドがありません。Fragment クラスにのみあります。しかし、アプリではフラグメントではなく、ローダーのみを使用したいと考えています。

0 投票する
6 に答える
24327 参照

android - Androidエラー:java.lang.IllegalStateException:すでに閉じられているカーソルを再クエリしようとしています

環境(HoneyComb3.0.1を実行しているXoomTablet用のLinux/ Eclipse Dev)

私のアプリでは、カメラ(startIntentForResult())を使用して写真を撮っています。写真を撮った後、onActivityResult()コールバックを取得し、「写真を撮る」インテントを介して渡されたURIを使用してビットマップをロードできます。その時点でアクティビティが再開され、画像をギャラリーにリロードしようとするとエラーが発生します。

私が使用している唯一のカーソルロジックは、画像が撮影された後、次のロジックを使用してUriをファイルに変換することです。

私が間違っていることについて何か考えはありますか?

0 投票する
3 に答える
13393 参照

android - 互換パッケージ用の LoaderManager を使用した ExpandableListFragment

ExpandableListActivity を Honeycomb と互換性を持たせたいです。互換性パッケージに ExpandableListFragment がないのはなぜでしょうか。

ExpandableListView を通常の Fragment クラスで動作させる方法はありますか? LoaderManager でカーソルをロードするにはどうすればよいですか?

0 投票する
2 に答える
439 参照

android - Androidでデータベースを操作していますか?

アプリにデータベースがあり、何かを挿入または削除する必要がある場合は、もちろんデータベースを開く必要があります。私はこれをすべてのアクティビティで行うので、データベースが開いていてもデータベースを開くことを意味します。DDMSでは、「リークが見つかりました」と表示されます。データベースを一度だけ開くにはどうすればよいですか?シングルトンクラスを使用する必要がありますか?

0 投票する
2 に答える
5535 参照

android - Android SimpleCursorAdapter と LoaderManager/CursorLoader の比較

以下を可能にするために SimpleCursorAdapter を拡張するにはどうすればよいですか。

2 つのフラグメント、1 つのメニュー 1 つの詳細。メニュー ListFragment はテーブルのリストで、詳細 ListFragment はこれらのテーブルに対するクエリの結果を示します。詳細 ListFragment には、メニュー ListFragment の選択からテーブル名が渡されます。詳細 ListFragment 内の onActivityCreated では、すべてのレコードが選択されてカーソルになります。このカーソルは SimpleCursorAdapter に渡されます。この SimpleCursorAdapter は、詳細 ListFragment の ListAdapter として設定されます。

私が理解できないのは、SimpleCursorAdapter を動的に変更して、カーソルの結果に基づいて正しい列数を表示する方法です。Cursor.getColumnNames() からの列名があり、これらを SimpleCursorAdapter コンストラクターのパラメーターから String[] にスローできます。しかし、int to パラメータに必要なビューを動的に作成するにはどうすればよいでしょうか? SimpleCursorAdapter は、xml レイアウト ファイルから構築された ID を探しているため、この状況では機能しませんか? CursorLoader で LoaderManager を使用する必要がありますか? それはより柔軟なソリューションになるでしょうか?

0 投票する
0 に答える
65 参照

android - API Demo LoaderThrottle の例にデータベースの close () がありませんか?

LoaderThrottle の例で、閉じているデータベースを見つけることができませんでした。

LoaderManager はこれを処理しますか、それとも close() メソッドが本当に欠落していますか?

0 投票する
1 に答える
2611 参照

android - Android: 最上位以外の Fragment で CursorLoader がクラッシュする

CursorLoader を使用してコンテンツを取得する ListFragments がいくつかあります。ユーザーがコンテンツをドリルダウンすると、ある Fragment が別の Fragment に置き換わります (Activity は同じままです)。ただし、最上位以外の Fragment でコンテンツが変更されると、アプリはクラッシュします。

これは、バックグラウンド更新によってコンテンツが変更された場合、またはユーザーがホーム画面から戻ったときに別の Fragment がバック スタックの一番上にある場合に発生する可能性があります。ハンドラーは、onLoadFinishedもはや存在しない UI を更新しようとします。しかし、フラグメントがまだカーソルの更新を取得しているのはなぜですか?

フラグメントが表示されない場合は更新を中止することで回避しましたが、これは間違っているようです。

これが私のフラグメントの外観です。簡潔にするために少し編集されています。

チェックはクラッシュを防ぎますisVisible()が、私が見たどのサンプル コードにもありません。ここで何が問題なのですか?


編集:案の定、閉じたカーソルを使用しようとしている古いビューで StaleDataException が発生しました。そのため、ビューが破棄されたときに LoaderManager を破棄しています。これが正しいことかどうかはまだわかりません。StaleDataException を再現できません。

isVisible()上記のハックを削除し、これを追加しました:

0 投票する
4 に答える
25589 参照

android - Android互換パッケージ - フラグメント...アクティビティに添付されていません


こんにちは、私はこの問題に直面しています: Android アプリケーション (最小 SDK 2.1) でフラグメントを使用するために互換性パッケージを使用しています。

フラグメントでランダムな例外が発生することがありますが、その理由がわかりません。これは私が受け取るスタック トレースです:

Fragment クラスで呼び出している対応するコードは次のとおりです。

フラグメントを呼び出すアクティビティのコードは次のとおりです。

getLoaderManager() のフラグメント ソース コードは次のとおりです。

クラッシュする前のアプリケーションの手順は次のとおりです。

  1. アクティビティはバックグラウンドでメソッドを呼び出します。
  2. アクティビティでコールバック メソッドが呼び出される
  3. このコールバック メソッドでは、アクティビティがフラグメントを呼び出します。
  4. フラグメントは、アクティビティが必要ないくつかのメソッド (getLoadManager() など) を起動しようとします。
  5. フラグメントはもうアクティビティに添付されていません => クラッシュ

2 つの修正を試みました。

  • アクティビティをテストして、アクティビティが終了しているかどうかを確認します (上記のコードのように)
  • メソッド isDetached を使用してフラグメントをテストします。

ご協力いただきありがとうございます!!!

よくわからない場合は、お気軽にお問い合わせください。