問題タブ [android-fragments]

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 投票する
2 に答える
14426 参照

android - アクティビティからフラグメント イベントを呼び出す

それで、フラグメントのイベントをアクティビティに渡すようにしたので、アクティビティが順番にフラグメント B に何かをするように通知するようにするにはどうすればよいですか。フラグメント A でリスト項目がクリックされたときに、フラグメント B を使用してカスタム リストを作成したいと考えています。では、イベントをアクティビティに送信しますが、アクティビティがフラグメント B のイベントを呼び出すようにするにはどうすればよいでしょうか?

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

android - Android 互換パッケージに Activity.getFragmentManager() が含まれていない

3 月 3 日にリリースされたばかりの Android 互換パッケージを使用して、2.1 ベースの Android アプリにフラグメントを追加しようと試み始めました。ライブラリをプロジェクトに含め、Activity ベースのクラスから Fragment ベースのクラスにコードを移動し始めましたが、Google の Fragment の例は、Activity クラスが 3.0 (Honeycomb) であるという事実に依存しているように見えることに気付きました。新しいメソッド getFragmentManager() があります。Fragment システムに不可欠なフックのようです。

getFragmentManager() を持つ含まれているアクティビティの実装について、互換パッケージ ライブラリ内を調べようとしましたが、見つかりません。ハニカム互換性のためにフラグメントを含めることができるように getFragmentManager() を見つけることができる場所を知っている人はいますか?

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

android - ヌル ポインター ポイント addView

テキストビューを線形レイアウトにプログラムで追加しようとしていますが、線形レイアウトで null ポインターを取得し続けます。レイアウトが膨張した後に呼び出されるため、なぜ発生するのかわかりません。コードはこちら。

tile_layout.xml

fragment_two.java

そして最後にメインの活動はこちら

LogCat はこちら

ハニカム エミュレーターでもこれを実行し、階層ビューアーを調べました。そのレイアウトファイル内に2つの線形レイアウトがあり、どちらも表示されず、テキストビューのみが表示されます。

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

android - AndroidListFragmentカーソル管理

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

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

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

また

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

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

android - アクションバータブフラグメントのフラグメント?

アクションバーのタブのフラグメント内にフラグメントを配置できますか?

3 つのタブを持つアクション バーを持つメイン アクティビティを持つ Android (3.0/Honeycomb) アプリケーションがあります。タブはアクティビティの onCreate() メソッドに追加され、タブ フラグメントは TabListener で追加/削除されます。コードはhttp://developer.android.com/guide/topics/ui/actionbar.html#Tabsのサンプルとほぼ同じです。

TabListener は次のようになります。

私のタブの 2 つは単純なフラグメントです。それらには単一の TextView が含まれているだけで、次のようになります (明確にするためにほとんどの属性が削除されています)。

しかし、私のタブの 1 つのフラグメントはより複雑で、次のような 2 つの埋め込みフラグメントが含まれています。

ユーザーがこのフラグメントのタブを選択すると、すべての起動ライフサイクル メソッド (onStart()、onResume()) が 3 つのフラグメントすべて (タブ フラグメントと 2 つの埋め込みフラグメント) に対して呼び出されます。

しかし、ユーザーが別のタブを選択すると、タブ フラグメントのみがライフサイクル終了メソッド (onPause()、onStop() など) のいずれかを取得します。2 つの埋め込まれたフラグメントは、これらの呼び出しのいずれも受信せず、シャットダウンされることもありません。

これにより、タブ フラグメントをロードするときにランタイムがフラグメント ID の重複を訴えるため、タブが再選択されたときに問題が発生します。

タブフラグメントが削除されたときにこれらの埋め込まれたフラグメントを削除するのは私の責任ですか? もしそうなら、いつ、正確に、私はそれをしますか?

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

android - AndroidフラグメントのbackStackの問題

アクティビティに次のコードがあります。

期待どおりに動作します。数回クリックすると、前の状態に戻ることができます。ただし、1つだけ深く掘り下げると、次の例外が発生します。

したがって、基本的に、置換を1回だけ呼び出すと、戻るボタンを押したときにエラーが発生します。

また、ListFragmentでは、背景を白に設定する必要がありますか?触らなかったので、古いリストビューが透けて見えます。

ありがとう!

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

android - フラグメントバックポートの使用方法は?

誰かがフラグメントバックポートの使い方を説明してもらえますか?マネージャとの互換性パッケージをダウンロードしましたが、フラグメントを使用するためにプロジェクトにリンクする必要のあるライブラリが見つかりません。

ありがとうございました

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

android - フラグメントトランザクションでのフラグメントの複製

わかりました。アプリケーションでフラグメントを置き換えようとすると、他のフラグメントが存在するコンテナ内にフラグメントが追加されるだけで、現在のフラグメントが残ります。replaceを呼び出して、フラグメントを含むビューを参照し、フラグメント自体を参照してみました。これらはどちらも機能しません。フラグメントトランザクションマネージャーを使用してビューにフラグメントを追加できますが、追加後にフラグメントを削除しようとしても機能しません。どんな助けでもいただければ幸いです。これが私のファイルです。

これがレイアウトです

そしてここにフラグメントコードがあります

私が言ったように。フラグメントの親ビューを参照して置き換えようとしましたが、フラグメント自体(idによる)は、元のフラグメントが含まれているビュー内に新しいフラグメントを追加するだけです。

0 投票する
11 に答える
23589 参照

android - マルチフラグメントアクティビティで onContextItemSelected を処理するには?

私は現在、「Android v4 の互換性ライブラリ」を使用するようにアプリケーションを適応させて、Android 1.6 ユーザーにもフラグメントを使用する利点を提供しようとしています。

コンテキスト メニューの実装は難しいようです。

  • アプリケーションの主なアクティビティは、FragmentActivity クラスを拡張することです。
  • フラグメントはすべて Fragment クラスを拡張する 1 つのクラスに基づいています。
  • フラグメント クラスは 、そのonCreateView()メソッドでregisterForContextMenu()を呼び出しており、メソッド onCreateContextMenu()およびonContextItemSelected()をオーバーライドしています。

onCreateContextMenu()の場合、これはかなりうまく機能します。コンテキスト メニューはリソース ファイルから拡張され、選択された項目に基づいてわずかに変更されます (フラグメントが ListFragment でなくても、listView に基づいています)。

この問題は、コンテキスト メニュー エントリが選択されたときに発生します。 onContextItemSelected()は、最初に追加されたフラグメントから始まる、現在存在するすべてのフラグメントに対して呼び出されます。

私の場合、フラグメントはフォルダー構造のコンテンツを表示するために使用されます。サブフォルダ フラグメントのコンテキスト メニューが開かれ、メニュー項目が選択されると、最初に上位レベルでonContextItemSelected()が呼び出されます (現時点で許可されている/表示されているフラグメントの数によって異なります)。

現在、onCreateContextMenu()を呼び出す最後のフラグメントのタグを保持するアクティビティ レベルのフィールドによる回避策を使用しています。このようにして、格納されたタグが getTag() と同じでない場合に、onContextItemSelected()の先頭で「return super.onContextItemSelected(item)」を呼び出すことができます。しかし、このアプローチは私には少し汚いように見えます。

すべてのフラグメントで onContextItemSelected() が呼び出されるのはなぜですか? onCreateContextMenu()を呼び出していたものだけではありませんか?

これを処理する最もエレガントな方法は何ですか?

0 投票する
5 に答える
7147 参照

android - FragmentManagerでBackStackEntriesを管理する

クリアBackStackEntriesする方法はFragmentManager?これは、フラグメントオブジェクトを変更するために使用するコードです。

特定の状況では、完全なバックスタックエントリを削除する必要があります。フラグメントマネージャーでは、そのための特定の方法は見つかりませんでした。あなたはなにか考えはありますか?