タグ付けされた質問 「android-fragments」

フラグメントは、Androidアプリの再利用可能な動作またはユーザーインターフェースの一部を表します。


13
DialogFragmentからフラグメントへのコールバック
質問:DialogFragmentから別のFragmentへのコールバックをどのように作成しますか?私の場合、関係するアクティビティはDialogFragmentを完全に認識していないはずです。 私が持っていると考えて public class MyFragment extends Fragment implements OnClickListener その後、いくつかの点で私はできません DialogFragment dialogFrag = MyDialogFragment.newInstance(this); dialogFrag.show(getFragmentManager, null); MyDialogFragmentは次のようになります protected OnClickListener listener; public static DialogFragment newInstance(OnClickListener listener) { DialogFragment fragment = new DialogFragment(); fragment.listener = listener; return fragment; } ただし、DialogFragmentがそのライフサイクルを通じて一時停止および再開した場合にリスナーが存在するという保証はありません。フラグメントの唯一の保証は、setArgumentsとgetArgumentsを介してバンドルを介して渡されたものです。 リスナーである必要がある場合、アクティビティを参照する方法があります。 public Dialog onCreateDialog(Bundle bundle) { OnClickListener listener = (OnClickListener) getActivity(); .... …

12
フラグメントを使用してAndroidのタブごとに個別のバックスタック
Androidアプリでナビゲーション用のタブを実装しようとしています。TabActivityとActivityGroupは非推奨であるため、代わりにFragmentsを使用して実装したいと思います。 タブごとに1つのフラグメントを設定し、タブがクリックされたときにフラグメントを切り替える方法を知っています。しかし、どうすれば各タブに個別のバックスタックを設定できますか? たとえば、フラグメントAとBはタブ1の下にあり、フラグメントCとDはタブ2の下にあります。アプリを起動すると、フラグメントAが表示され、タブ1が選択されます。次に、フラグメントAがフラグメントBに置き換えられます。タブ2を選択すると、フラグメントCが表示されます。タブ1を選択すると、フラグメントBが再び表示されます。この時点で、戻るボタンを使用してフラグメントAを表示できるはずです。 また、デバイスを回転させても、各タブの状態が維持されることが重要です。 BRマーティン

8
1つのアクティビティと他のすべてのフラグメント[終了]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 6年前休業。 この質問を改善する 私は1画面の実装を考えていますActivityし、他のすべてのsreens Fragmentsとmanaging all the fragments thru the activity。 それは良い考えですか?私の答えは「いいえ」ですが、それでもこの考えについてもっと明確に知りたいのです。 アイデアの長所と短所は何ですか? 注意: フラグメントとアクティビティのリンクを教えないでください。 編集: これはフラグメントとアクティビティに関するものです: 長所: フラグメントは、サブアクティビティとしてのアクティビティで使用されることを意図しています。 フラグメントはアクティビティの代わりにはなりません。 フラグメントは再利用性を目的としています(再利用性を実現する方法を知る必要があります)。 フラグメントは、タブレットと電話の両方をサポートするコードを作成するための最良の方法です。 短所: フラグメントからデータを取得するには、インターフェースを実装する必要があります。 対話については、それを示すのに長い道のりが必要です。 タブレットを考慮しない場合、なぜフラグメントを使用する必要があるのですか?アクティビティとフラグメントの開始時間の違いは何ですか?

18
フラグメントでgetSupportFragmentManager()にアクセスするにはどうすればよいですか?
FragmentActivityがあり、その中でマップフラグメントを使用したいと思います。サポートフラグメントマネージャーにアクセスするのに問題があります。 if (googleMap == null) { googleMap = ((SupportMapFragment) getSupportFragmentManager() .findFragmentById(R.id.map1)).getMap(); // check if map is created successfully or not if (googleMap == null) { Toast.makeText(getApplicationContext(), "Sorry! unable to create maps", Toast.LENGTH_SHORT) .show(); } } // create marker MarkerOptions marker = new MarkerOptions().position( new LatLng(latitude, longitude)).title("Hello Maps "); CameraPosition cameraPosition …

4
java.lang.NullPointerException:nullオブジェクト参照で仮想メソッド 'int android.view.View.getImportantForAccessibility()'を呼び出そうとしました
入力フィールドとに基づいて、買い物リストアプリを作成しようArrayListとしていListViewます。アプリはに基づいていFragmentsます。しかし、問題が発生したため、解決方法がわかりません。 私はGoogleとStackOverflowの両方を見て回り、いくつかの情報を見つけました。しかし、私はそれを働かせていません。今、私は自分のコードで助けが得られることを願っています。 私はAndroid開発に比較的不慣れです。 Main.java import java.util.ArrayList; import android.app.Fragment; import android.app.FragmentManager; import android.app.FragmentTransaction; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.view.Menu; import android.view.MenuItem; public class Main extends FragmentActivity { ArrayList<Detail> items = new ArrayList<Detail>(); FragmentManager FM; FragmentTransaction FT; Input input = new Input(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); replaceFragment(R.id.container, input); …

12
OnFragmentInteractionListenerを実装する方法
私はAndroid Studio 0.8.2にナビゲーションドロワーを備えたウィザード生成アプリを持っています フラグメントを作成してnewInstance()で追加したところ、次のエラーが発生しました。 com.domain.myapp E / AndroidRuntime:致命的な例外:メインjava.lang.ClassCastException:com.domain.myapp.MainActivity@422fb8f0はOnFragmentInteractionListenerを実装する必要があります このOnFragmentInteractionListenerを実装する方法がどこにも見つかりませんか?Android sdkのドキュメントにもありません! MainActivity.java import android.app.Activity; import android.app.ActionBar; import android.app.Fragment; import android.app.FragmentManager; import android.os.Bundle; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.support.v4.widget.DrawerLayout; public class MainActivity extends Activity implements NavigationDrawerFragment.NavigationDrawerCallbacks { /** * Fragment managing the behaviors, interactions and presentation …

6
存在する場合にBackStackからフラグメントを再開する方法
フラグメントの使い方を学んでいます。Fragmentクラスの先頭で初期化されているインスタンスが3つあります。このようなアクティビティにフラグメントを追加しています: 宣言と初期化: Fragment A = new AFragment(); Fragment B = new BFragment(); Fragment C = new CFragment(); 交換/追加: FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); ft.replace(R.id.content_frame, A); ft.addToBackStack(null); ft.commit(); これらのスニペットは正しく機能しています。すべてのフラグメントはアクティビティに添付され、問題なくバックスタックに保存されます。 したがって、を起動するAとC、Bスタックは次のようになります。 | | |B| |C| |A| ___ そして「戻る」ボタンを押すと、B破壊されCて再開されます。 しかし、フラグメントをもう一度起動Aすると、バックスタックから再開するのではなく、フラグメントがバックスタックの一番上に追加されます | | |A| |C| |A| ___ しかしA、その上にあるすべてのフラグメント(ある場合)を再開して破棄したいと思います。実際、私はデフォルトのバックスタック動作が好きです。 どうすればこれを達成できますか? 予想:(A再開し、上部のフラグメントを破棄する必要があります) | | | | | …

6
Android:アクティビティのライフサイクル中にonCreateOptionsMenuが呼び出されるのはいつですか?
いくつかのブレークポイントonCreate(メソッドの最初と最後に1つ)を挿入し、の最初にも1つ挿入しonCreateOptionsMenuます。onCreateメソッドが最初に呼び出され、それが終了する前にはonCreateOptionsMenu呼ばれています。 Fragmentアプリでナビゲーションコードを分離しようとしているのでonCreateOptionsMenu、アプリが携帯電話/タブレットで実行されているかどうかに応じて委任するオブジェクトがいくつかあります(これを決定するために画面サイズを使用しており、大きな画面には、レイアウトが膨らんだ後にチェックするビューがあります)。私が抱えている問題は、これらのオブジェクトをonCreateで作成し、でオブジェクトを参照するとnullポインター例外が発生することonCreateOptionsMenuです。

11
java.lang.IllegalStateException:アクティビティにフラグメントがアタッチされていません
API呼び出しの実行中にこのエラーが発生することはほとんどありません。 java.lang.IllegalStateException: Fragment not attached to Activity isAdded()メソッド内にコードを入れて、フラグメントが現在そのアクティビティに追加されているかどうかを確認しようとしましたが、このエラーが発生することはほとんどありません。このエラーが引き続き発生する理由を理解できません。どうすれば防止できますか? ライン上のそのエラーの表示 cameraInfo.setId(getResources().getString(R.string.camera_id)); 以下は私が作っているサンプルAPI呼び出しです。 SAPI.getInfo(getActivity(), new APIResponseListener() { @Override public void onResponse(Object response) { cameraInfo = new SInfo(); if(isAdded()) { cameraInfo.setId(getResources().getString(R.string.camera_id)); cameraInfo.setName(getResources().getString(R.string.camera_name)); cameraInfo.setColor(getResources().getString(R.string.camera_color)); cameraInfo.setEnabled(true); } } @Override public void onError(VolleyError error) { mProgressDialog.setVisibility(View.GONE); if (error instanceof NoConnectionError) { String errormsg = getResources().getString(R.string.no_internet_error_msg); Toast.makeText(getActivity(), …

6
フラグメント内のフラグメント
これが実際にAndroid APIのバグなのかどうか疑問に思っています。 私はそのような設定をしています: ┌----┬---------┐ | | | | 1 | 2 | | |┌-------┐| | || || | || 3 || └----┴┴-------┴┘ 右側のペインにフラグメント#2(検索画面)をロードするメニューです。 結果リストであるフラグメント#3を含む検索画面です。 結果リストはいくつかの場所で使用されます(それ自体が機能する高レベルのフラグメントとしても含まれます)。 この機能は電話で完全に機能します(1と2および3はActivityFragmentsです)。 ただし、このコードを使用した場合: FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); Fragment frag = new FragmentNumber2(); if(toLoad != null) frag.setArguments(toLoad); transaction.replace(R.id.rightPane, frag); transaction.commit(); 水平線形レイアウトのR.id.leftPaneとR.id.rightPaneはどこですか<fragment>。 上記のコードが常駐しているフラグメントを削除し、それを新しいフラグメントに置き換えることは私の理解です。このコードが2回目に実行されると、次の例外が発生するため、明らかにそうではありません。 07-27 15:22:55.940: ERROR/AndroidRuntime(8105): Caused by: …

10
ViewPagerの一部としてListFragmentのデータを更新する
Androidでv4互換のViewPagerを使用しています。私のFragmentActivityには、ViewPagerのさまざまなページにさまざまな方法で表示される一連のデータがあります。これまでのところ、同じListFragmentのインスタンスは3つしかありませんが、将来的には、異なるListFragmentのインスタンスが3つになる予定です。ViewPagerは垂直の電話画面上にあり、リストは並んでいません。 これで、ListFragmentのボタンが(FragmentActivityを介して)個別のフルページアクティビティを開始し、FragmentActivityがデータを変更して保存し、ViewPagerのすべてのビューを更新しようとします。私が行き詰まっているのはここです。 public class ProgressMainActivity extends FragmentActivity { MyAdapter mAdapter; ViewPager mPager; @Override public void onCreate(Bundle savedInstanceState) { ... mAdapter = new MyAdapter(getSupportFragmentManager()); mPager = (ViewPager) findViewById(R.id.viewpager); mPager.setAdapter(mAdapter); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { ... updateFragments(); ... } public void updateFragments() { //Attempt 1: //mAdapter.notifyDataSetChanged(); …

13
ViewPagerを使用してフラグメントにGoogle Maps V2を配置する方法
Playストアで同じタブレイアウトを作成しようとしています。androidhiveのフラグメントとビューページャーを使用してタブレイアウトを表示する必要があります。ただし、Google Maps v2を実装することはできません。すでに何時間もインターネットを検索しましたが、その方法に関するチュートリアルが見つかりません。誰か教えてください。


13
Fragment Inside Fragment
フラグメント内のフラグメントの操作に関してサポートが必要です。実際には、戻るボタンを押すときに問題が発生しています。アプリケーションのメイン画面にはボタンがあり、各ボタンビューを押すと新しいフラグメントで置き換えられます(そのフラグメントは別のフラグメント内に含まれています)。フラグメントを動的に追加/置換することは正常に機能しています。ボタン1を押すとフラグメントが置き換えられ、ボタンを押すと同じことが起こりますが、ボタンが再び、例外を得ました: "Duplicate id 0x7f05000a, tag null, or parent id 0x7f050009 with another fragment for com........ fragmentname" フラグメントまたは内部フラグメントがすでに追加されていることを意味します。それらを再度追加しようとしています。サポートのおかげで、誰もがフラグメント内でフラグメントを操作し、問題なく前後に移動する方法を知っています。 MainActivity、フラグメントは動的に追加および置換されます。 public class FragmentInsideFragmentTestActivity extends Activity { private Button button1; private Button button2; private Button button3; private Button button4; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.