問題タブ [fragmenttransaction]

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

android - Android: ダイアログ フラグメントとバックスタックの問題

したがって、次のフラグメントがあるとしましょう。

Fragment1 Fragment2 DialogFragment Fragment3 Fragment4

次のフラグメントに移動するとします。各フラグメントはバック スタックに追加されます。

[戻る] ボタンをクリックすると、通常はFragment3に移動するはずですが、代わりにDialogFragmentが表示されます。

私が使用したフラグメントトランザクションは次のとおりです。

フラグメント 1 -> フラグメント 2

Fragment2 -> DialogFragment

ダイアログフラグメント -> Fragment3

Fragment3 -> Fragment4

ここでも問題は、Fragment4 で [戻る] ボタンをクリックすると、Fragment3 ではなく DialogFragment が表示されることです。

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

android - FragmentPagerAdapter の 1 つのタブで FragmentTransaction をコミットする

FragmentPageAdapterアプリ内に複数のタブを使用しています。これらのタブの 1つは、 を使用しListFragmentて別のフラグメントに置き換えられることになっているです。onItemClickFragmentTransaction

を内に追加するListFragmentと、変更置換は完全に機能しますが、 を使用してこれを行う方法がわかりません。FrameLayoutActivityFragmentPagerAdapter

より良い説明は次のとおりです。

フラグメントリストビューから1つのアイテムをクリックした後、次のように置き換える必要があります

を使ってみ.replace(((ViewGroup)getView().getParent()).getId(), newFragment).commit()ましたが、うまくいきません。

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

android - FragmentTransaction.replace は、コンテナー内の最初の Fragment のみを置き換えます

1 つのトランザクションで 2 つのフラグメント (A と B など) を 1 つのコンテナーに追加しました。ドキュメントによると、replace は、指定されたコンテナーからすべてのフラグメントを削除してから、新しいフラグメントを追加する必要があります。代わりに、最初のものだけを置き換えます。したがって、B フラグメントと C フラグメントになります。これは私をとても混乱させます。それはバグですか、それとも何ですか?

単一のコンテナーに複数のフラグメントを追加することは悪い習慣と見なされることは既に知っています。でもとにかく気になる。

更新: 前にそれを見つけた: http://code.google.com/p/android/issues/detail?id=28452

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

android - 空白を残してフラグメントを非表示

私は3つのコンテナ(LinearLayoutも)を持つLinearLayoutを持っていますが、これらにはweight=1. そのレイアウトは次のとおりです。

これらのコンテナのそれぞれに、1 つのフラグメントを追加します。

したがって、これらは次のように配置されています。

ボタンをクリックすると、最初にコンテナと一緒にフラグメントを非表示にし、の右側にある新しいフラグメントを表示しfragment3ます。したがって、次のようなものがあります。

ボタンをクリックすると、これを使用してフラグメントを非表示にします。

コンテナと一緒にフラグメントを非表示にしますが、表示される画面は次のようになります。

ここでemptyは、完全に空、フラグメント、コンテナー、何もない、ただの空のスペースを意味します。

それで、私の質問は、そこに空白を残さずにフラグメントを非表示にする方法ですか?

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

java - フラグメントを動的に作成する方法は?

2 つのフラグメントがあります (そのうちの 1 つは 1 つの編集テキストと 1 つのボタンを持ち、もう 1 つは 1 つのリストビューのみを持ちます) フラグメント トランザクションを使用して動的に作成したいと考えています。しかし、それをしようとすると、アプリが起動しません。私のコードで何が間違っていますか?

AddToDoFragment.java

}

MainActivity.java

ToDoListFragment.java

}

activity_main.xml

LogCat

  • 10-29 17:21:59.783: D/AndroidRuntime(788): VM をシャットダウンしています
  • 10-29 17:21:59.783: W/dalvikvm(788): threadid=1: キャッチされない例外で終了するスレッド (group=0x414c4700)
  • 10-29 17:21:59.863: E/AndroidRuntime(788): 致命的な例外: メイン
  • 10-29 17:21:59.863: E/AndroidRuntime(788): java.lang.RuntimeException: アクティビティ ComponentInfo を開始できません {com.example.todolistwithdynamicfragments/com.example.todolistwithdynamicfragments.MainActivity}: java.lang.NullPointerException
  • 10-29 17:21:59.863: E/AndroidRuntime(788): android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211) で
  • 10-29 17:21:59.863: E/AndroidRuntime(788): android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
  • 10-29 17:21:59.863: E/AndroidRuntime(788): android.app.ActivityThread.access$600(ActivityThread.java:141)
  • 10-29 17:21:59.863: E/AndroidRuntime(788): android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256) で
  • 10-29 17:21:59.863: E/AndroidRuntime(788): android.os.Handler.dispatchMessage(Handler.java:99) で
  • 10-29 17:21:59.863: E/AndroidRuntime(788): android.os.Looper.loop(Looper.java:137)
  • 10-29 17:21:59.863: E/AndroidRuntime(788): android.app.ActivityThread.main(ActivityThread.java:5103)
  • 10-29 17:21:59.863: E/AndroidRuntime(788): java.lang.reflect.Method.invokeNative(ネイティブメソッド)
  • 10-29 17:21:59.863: E/AndroidRuntime(788): java.lang.reflect.Method.invoke(Method.java:525)
  • 10-29 17:21:59.863: E/AndroidRuntime(788): com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) で
  • 10-29 17:21:59.863: E/AndroidRuntime(788): com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
  • 10-29 17:21:59.863: E/AndroidRuntime(788): dalvik.system.NativeStart.main(ネイティブメソッド)
  • 10-29 17:21:59.863: E/AndroidRuntime(788): 原因: java.lang.NullPointerException
  • 10-29 17:21:59.863: E/AndroidRuntime(788): com.example.todolistwithdynamicfragments.MainActivity.onCreate(MainActivity.java:40)
  • 10-29 17:21:59.863: E/AndroidRuntime(788): android.app.Activity.performCreate(Activity.java:5133)
  • 10-29 17:21:59.863: E/AndroidRuntime(788): android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1087) で
  • 10-29 17:21:59.863: E/AndroidRuntime(788): android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175)
  • 10-29 17:21:59.863: E/AndroidRuntime(788): ... 11 もっと見る
  • 10-29 17:22:27.032: I/Process(788): シグナルを送信しています。PID: 788 SIG: 9