問題タブ [android-fragmentactivity]
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 - AndroidFragmentActivityが以前に戻らない
ホーム画面、ニュースフィード、記事ビューの3つのフラグメントアクティビティがあります。ホーム画面のボタンをクリックするとニュースフィードが開き、ニュースフィードの記事をクリックすると記事ビューが開きます。しかし、記事ビューの「戻る」ボタンをクリックすると、ホーム画面に戻ります。
前のアクティビティをスキップする理由はありますか?ホーム画面ではなく通話アクティビティに戻るようにするにはどうすればよいですか?
android - FragmentとFragmentActivityの違いは何ですか?
私の質問は明らかな継承の違いとは別に、との主な違いは何Fragment
ですかFragmentActivity
?各クラスはどのシナリオに最も適していますか?これらのクラスの両方が存在する理由を理解しようとしています...
android - Fragments を使用して ViewPager のビューを切り替える onClickListener (ボタン)
FragmentActivity と 3 つの Fragments で構成されるアプリケーションを開発しています。「次へ」ボタンを使用して、最初のフラグメントから 3 番目と最後のフラグメントに移動したいと考えています。そのために、viewPager と pagerAdpater を使用しています (viewpager のページング/スワイプを無効にしました)。私の「次へ」ボタンは、独自のフラグメントに実装されています。フラグメントごとに 1 つの xml レイアウトと、viewpager を含む fragmentActivity 用に 1 つの xml レイアウトがあります。
setCurrentItem(index) メソッドを使用して最初のビューから最後のビューに移動できる OnClickListener を使用しようとしています。
問題は、フラグメントにビューページャーの参照がないため、OnClickListener をどこに配置できるかわからないことです。
フラグメントでビューページャーの参照を取得するにはどうすればよいですか? OnClickListener メソッドを別の場所に配置する必要がありますか?
これが私の3つのフラグメントの1つのコードです:
これは私の FragmentActivity です:
これをすべてまとめると、次のようになります: -
3 つのフラグメント (1、2、および 3)
を実装し、取得したい:
- 次のフラグメントに移動するためのボタンを含む各フラグメント (1 -> 2 -> 3)。
- 「終了」ボタンを含む最後のフラグメント (ナビゲートする次のフラグメントがないため)
これは非常に単純なアクションだと思いますが、私は Android 開発に比較的慣れていないため、これを理解できませんでした。そのために間違ったコンポーネントを使用しようとしているのかもしれません。
ありがとう
android - 画面の向きが変更された後、フラグメント (サポートされているライブラリ) が onActivityCreated() でアクティビティを認識しない
Android サポート ライブラリ v13 を使用しています。私が理解できなかった奇妙なことがあります。
新しいアクティビティを作成するとき、フラグメントを次のようにロードします。
主な活動のレイアウト:
主onCreate()
な活動中:
現在、すべてがエミュレーター 1.5、1.6、および 2.2 で完全に機能します。私は電話2.2.2を持っています。
ただし、例外があります。アプリが実行中で、画面の向きが変更された場合です。中onActivityCreated()
、getActivity()
たまに戻るnull
。これは、エミュレータ 1.5/1.6/2.2 でのみ発生します。
私の携帯電話2.2.2は非常にうまく動作します。何百回もテストしましたが、そのバグは見つかりませんでした。他のエミュレーター 3.x、4.x でも問題なく動作します。残念ながら、私は電話 1.5/1.6/2.2 を持っていません。
それで、あなたはこれについて経験がありましたか?それはサポート ライブラリまたはエミュレータのバグですか?
android - TabHost に FragmentActivity を追加
実際には、Tabhost を含む FragmentActivity と一部の Fragment があり、ViewPager のおかげで別の Fragment 間をスライドできます。この FragmentActivity を使用して、別の Tabhost に組み込みたいので、1 つをもう 1 つ下に置きます。
今のところ、私はこの解決策を持っています:
それは機能しますが、ActivityGroupは非推奨になりました:(そして、この問題を解決するための他の解決策は見つかりません.2つのTabHostを使用して、2番目のTabHostを異なるフラグメント間でスライドさせるにはどうすればよいですか? ;)
java - DialogFragment で FragmentManager と FragmentTransaction を使用する
問題の要点は次のとおりです。 FragmentActivity から DialogFragment を起動しようとしています。この DialogFragment のビューには、Fragment を入力したい FrameLayout が含まれています。基本的に、FragmentActivity は DialogFragment を起動し、DialogFragment は FrameLayout に Fragment を設定します。私はインターネットでチュートリアルを探し回り、(私の考えでは)うまくいくはずのものをまとめました。ただし、何を試しても、継続的にエラーが発生します。これは私がこれまでに持っているものです:
これは私の FragmentActivity のレイアウトです (ファイル名は「activity_interact」です):
これは私のDialogFragmentのレイアウトです(ファイル名は「dialog_overview」です):
これは私のフラグメントのレイアウトです(ファイル名は「fragment_stats」です):
FragmentActivity の Java コードは次のとおりです。
}
これが私のDialogFragmentのコードです:
}
ここに私のフラグメントのコードがあります:
}
最後に、logcat エラーは次のとおりです。
私はフラグメントのビューを持っていないと言っていることがわかりますが、私は... (または私は?) 私はここで迷っています。また、私はこれを正しい方法で行っていますか? FragmentManager を再利用する方が効率的でしょうか? (つまり、FragmentActivity から DialogFragment に渡します)
更新: Fragment を DialogFragment にロードするコードを削除しました。現在、DialogFragment は問題なく表示されます。したがって、明らかに (logcat エラーが示唆するように) Fragment 自体に何か問題があります...ただし、インターネットで見た例と一致します。このようにネストされたフラグメントに問題はありますか? Fragment を表示する DialogFragment を表示する FragmentActivity を見て、「これ以上深くは考えられない」と言いたくなりますが、わかりません。さらにフラグメントをネストできますか?
android - Android - IllegalStateException: マップのサイズがゼロです
私は初心者のアンドロイドプログラマーです。
文脈を説明しましょう。
私のプロジェクトでは ActionBarSherlock を使用しています。
- SherlockListFragment と、Google マップ MapView (本質的には MapFragment) を含む SherlockFragment の 2 つのフラグメントを含むアクティビティ (Activity1) があります。
- 検索結果はリスト フラグメントとマップ フラグメントに表示され、アクション バーのオプション ボタンは、現在表示されているフラグメントをリストとマップの間で切り替えます。
- リストまたは検索結果のマップで項目を選択すると、選択した項目のデータを表示する新しいアクティビティ (Activity2) が開始されます。
- この新しいアクティビティには、同様のフローがあります。データを表示するフラグメントと、場所を表示するマップ フラグメントです。アクション バーのオプション ボタンで切り替えます。
問題:
- 検索結果 (Activity1) のリスト フラグメントでリスト アイテムを選択でき、詳細ページ (Activity2) が正常に開始されます。
- (Activity1) のマップ オーバーレイからマップ アイテムを選択すると、アプリがクラッシュし、以下に示すスタック トレースが表示されます。
私がこれまでに試したこと:
- 「マップのサイズがゼロ」と、「android」と「illegalstateexception」を含む同じ検索の多くの順列、およびスタックトレースのさまざまな行を検索しました。また、android には関係なく、に関連する結果を調べました。 google maps apis は一般的で、この URL http://www.androidpub.com/1551654を除いて、このエラーに遭遇した人をどこにも見つけることができませんでした。あまり役に立ちませんでした。
- 何が起こっているのかを確認するために、ソース コードのスニペットをいくつか見つけようとしましたが、何も見つかりませんでした。
- コードにログを追加して、例外が発生した場所を特定しましたが、(Activity2) 詳細アクティビティが開始された後、つまり onCreate() が呼び出された後に発生することがわかりました。 . 詳細フラグメントとマップ フラグメントの両方が、onCreate() 内で正常にインスタンス化されています。コード内で例外をキャッチする場所さえ見つけられませんでした。したがって、私が見る限り、この例外は完全に google の MapView コードのバグのようですが、どこかで間違いを犯した場合は、それを示してください。ここで何が起こっているのかを教えてくれる人なら誰でも助けてくれます。
ということで、まとめ。現在マップビューを表示しているアクティビティ (Activity1) から、別のマップビューを含むフラグメントもホストしている別のアクティビティ (Activity2) に移動すると、クラッシュが発生します。ただし、(Activity1) に表示されているリスト フラグメントから別のマップ フラグメントを含む他のアクティビティ (Activity2) に移動する場合、クラッシュは発生しません。
これが十分な詳細であることを願っています。ご不明な点がございましたら、コメントください。
android - オフセットされたFrameLayoutは、フラグメントが追加されたときにそれ自体を再配置しますか?
クラスを使用してFrameLayout
(内にRelativeLayout
)を追加/削除Fragments
しFragmentTransaction
ます。MyFrameLayout
は元々その親と左揃えであり、FrameLayout.offsetLeftAndRight(int offset)
メソッドによって水平方向にオフセットされることもあります。
オフセットがあり、フラグメントトランザクションをコミットしてFrameLayout
に追加するFragment
と(つまりFragmentTransaction.add(R.id.myFrameLayout, myNewFragment).commit()
)、FrameLayout
オフセットを無視して元の場所にジャンプして戻ることがわかりました。
なぜこれが起こっているのか、そしてFrameLayout
それに追加するときに自分自身の再配置を回避する方法を知っている人はFragment
いますか?
注: Honeycombの前に作業するために行っていることが必要なため
offsetLeftAndRight(int offset)
、または他の方法ではなく、この方法を使用しています。setTranslationX(float translationX)
android - FragmentManager、LocalActivityManager、TabHost.setup()
わかりました、FragmentManager から継承するクラスがあります。このクラス内には、いくつかのフラグメント タブを作成して TabHost に挿入する FragmentPagerAdapter があります。コードは正常にコンパイルされ、機能します。これらのクラスの一部を以下に示します。私はこれを行うために使用しています android supprt package v4
この FragmentActivity をインスタンス化すると、次の例外が発生しました。
Android 開発者のサイトを読むと、LocalActivityManager は非推奨です。ただし、TabHost.setup(LocalActivityManager) で使用されます。このクラスが廃止された場合、この場合の解決策はありますか? TabContentFactory を使用できません。
android - Android 2.1でフラグメントのアニメーションを追加するには?
このトピックから。 Android フラグメントとアニメーション
nineoldandroidsライブラリを使用しようとしましたが、以下の例のように xml ファイルで objectAnimator を使用できません。
Android 2.1 でフラグメントのアニメーションを追加するには? (私は互換パッケージを使用しています。)