問題タブ [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.
android - Androidのフラグメントとアニメーション
たとえば、Honeycomb Gmailクライアントが使用するようなスライドをどのように実装する必要がありますか?
フラグメントを追加および削除することでこれを自動的に処理できますTransactionManager
。エミュレータがスライドショーであるため、これをテストするのは難しいです:)
java - 構成の変更時にビューのないフラグメントがクラッシュする
Fragment
縦モードではなく横モードで (ビュー付きで) 表示する必要がある UI があります。縦向きモードでも使用できるはずですが、ListPopupWindow
代わりに を使用して結果が表示されます。
<fragment />
フラグメントが開始されていない場合 (ポートレートの場合)、プログラムでフラグメントを作成しながら、ランドスケープ レイアウトのタグを使用することでこれを処理できると考えました。
横向きで開始する限り、これは正常に機能します。フラグメントがプログラムで作成される縦向きで開始すると、フラグメントをレイアウトにアタッチしようとするときにエミュレーターを回転させると、アプリケーションがクラッシュします。
java.lang.IllegalStateException: Fragment はビューを作成しませんでした。android.app.Activity.onCreateView(Activity.java:4095) で
のドキュメントはFragment.isInLayout()
、この方法で処理できるはずであることを示唆しているようです:
タグを介してアクティビティ ビュー階層の一部としてレイアウトが含まれている場合は true を返します。これは、古いフラグメントが以前の状態から復元され、現在の状態のレイアウトに表示されない場合を除いて、タグを使用してフラグメントが作成された場合に常に当てはまります。
問題は、これを正しく行う方法、または何か不足している場合です。
アップデート:
isInLayout()
現在も正常に動作していないようです。Fragment
手動でコンテナーに を追加した場合は false を返します。
また、コンテナーに手動で を追加してFragment
から、そのレイアウトを含まないレイアウトに (デバイスを) ローテーションすると、クラッシュします。
原因: java.lang.IllegalArgumentException: No view found for id 0x7f060011 for fragment SearchFragment{4042f868 #2 id=0x7f060011 SearchFragment} at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:722)
android - フラグメントで rootLayoutContainer を取得しない (Android 3.0 プレビュー)
私は現在、Android 3.0 プレビューのフラグメント API に取り組んでおり、次の最小限のコーディングを構築しています。
現在、次のように実装されているフラグメントを埋め込むアクティビティがあります。
}
アクティビティの対応するレイアウト:
ここで、内部クラス InfoFragment の onCreateView() の ViewGroup コンテナーが nullpointer である理由がわかりません。また、理由もわかりません。
null も返します。
フィードバックありがとうございます。
android - Android フラグメントの複製
Android Honeycomb プレビューで新しいクラスを試していますが、小さな問題があります。私は野球のスコアリング アプリを作成しています。左のボタン (アクション メニュー) で、フラグメントとして設定した右の「アクション ペイン」を切り替える必要があります。
ボタンの onClickListener() で Fragment Transaction を呼び出してスワップアウトしたいと思います。これまでのところ、アプリが読み込まれるとデフォルトのフラグメントが作成されることを除いて機能しますが、ボタンを押すと、デフォルトのフラグメントを置き換える代わりに、その隣にまったく新しいフラグメントが作成されます。
私は何時間も見てきましたが、何が間違っているのかわかりません...
私はJava/Android/プログラミングが初めてなので、痛々しいほど明らかな何かを見落としている可能性があることに注意してください。
hc_test.java (メイン アクティビティ)
main.xml
actionFragment.java
android - フラグメント内のMapView(Honeycomb)
最終的なSDKがgoogleapisでリリースされたので、MapViewを使用してフラグメントを作成するための最良の方法は何ですか?MapViewが正しく機能するには、MapActivityが必要です。
フラグメントを管理するアクティビティがMapActivityから継承し(フラグメントが自己完結型であるという考えに反するため、悪い解決策)、通常のxmlベースのレイアウトを使用することは機能しません。MapActivity.setupMapView()でNullPointerExceptionが発生します:
私の2番目のアイデアは、プログラムでMapViewを作成し、関連するアクティビティを(getActivity()を介して)コンテキストとしてMapViewコンストラクターに渡すことでした。動作しません:
本当に、MapViewが必要とするバックグラウンドスレッドを処理するMapFragmentのようなものがあるはずです...では、これを行うための現在のベストプラクティスは何ですか?
ドイツ、バレンティンからの感謝とよろしく
android - プログラムで作成されたコンテンツビューを使用して、アクティビティにフラグメントを追加するにはどうすればよいですか?
プログラムでレイアウトを実装するアクティビティにフラグメントを追加したいと思います。フラグメントのドキュメントを調べましたが、必要なものを説明する例は多くありません。これが私が書き込もうとしたコードのタイプです:
..。
このコードはコンパイルされますが、おそらくmyFragmentTransaction.add()
が正しくないため、起動時にクラッシュします。これを行う正しい方法は何ですか?
android - 回転中に Fragment オブジェクトを保持する
Honeycomb でアプリを開発し、フラグメントを使用しています。
これは私のアプリです
- 私はアクティビティ(たとえばA1)を持っており、その中にフラグメントがあります
- 最初に、このフラグメントはオブジェクトを 1 つのフラグメント オブジェクトとして保持します (F1)
- 次に、ユーザーのアクションに応じて、他のオブジェクト F2、F3 に変更される場合があります ....
私の問題は何ですか
ユーザーがデバイスを回転させると、アクティビティが再作成され、F1 をフラグメント オブジェクトとして作成しますが、回転する前は
使用していませんでしたが、機能しませんでした。このように、関数
にコードでフラグメントを追加しました。
What is the way to retain the fragment object while rotating?
setRetainInstance(true);
onCreate
android - DialogFragment のタイトルを設定するには?
これは単純な作業のはずですが、何らかの理由でDialogFragmentのタイトルを設定する方法を見つけることができます。(オーバーロードを使用してダイアログの内容を設定していますonCreateView
)。
DialogFragment
デフォルトのスタイルはタイトルの場所を残していますが、それを設定するためのメソッドがクラスに見つかりません。
メソッドを使って内容を設定するとなぜかタイトルが魔法のように設定されるonCreateDialog
ので、これは仕様なのか、onCreateView
オーバーロードで設定する特殊な仕掛けがあるのだろうか。
android - フラグメント間でデータを渡す方法
私のプログラムで 2 つのフラグメント間でデータを渡そうとしています。リストに格納されている単純な文字列です。リストはフラグメント A で公開され、ユーザーがリスト項目をクリックすると、フラグメント B に表示される必要があります。コンテンツ プロバイダーは ID のみをサポートしているように見えるため、機能しません。助言がありますか?
android - Android互換パッケージでフラグメントを使用できません
XavierDucrohetの「FragmentsforAll」で、Android SDK Tech Leadは、GoogleがSDKManagerによるAndroid互換性パッケージをリリースすると述べています。
インストールしましたが、どうすれば使えますか?
Android互換パッケージをプロジェクトに統合するにはどうすればよいですか?