0

これはよりデザインに関連しているため、コードは追加していません。

私はアンドロイド開発が初めてです。それで、豊富な資料を調べた後、最初のアプリの設計と開発を開始しました。私は携帯電話向けのアクティビティ アプローチを使い始めましたが、調査の途中でプラットフォームが変更されたため (残念!)、フラグメントをミックスに追加することになりました。ですから、私が最近行っていることの多くは、アクティビティとフラグメントに関するものです。

このパラダイムで、私はいたるところで問題に遭遇しており、進行するにつれて物事を修正するために膨大な時間を費やしてきました (これが起こったのはおそらく私だけではありません)。

しかし、要点を言えば、Activity 内で複数のタイプのフラグメントを使用することには限界があるという発見に戻りました。より多くのスペースを持つタブレット ディスプレイに複数のリストを作成しようとしていました。例が示すように、ListFragment を作成しました。ListFragment の onActivityCreated () メソッド内で、リスト アダプターを使用して、画面の左側に初期リストを生成します。次に、SimpleCursorAdapter を別の ListFragment に実装しようとしましたが、うまくいきませんでした。この問題を調査して、同様の経験をした人がいないかどうかを調べてみました。そこで、SimpleCursorAdapter のコードを最初の ListFragment に追加してみました (2 番目の ListFragment へのすべての参照をコメントアウトします)。これは機能しましたが、1 番目のリストを上書きしてしまい、これは私が望んでいたものではありませんでした。画面の左側に 1 つのリストが表示され、次のリストが画面の中央に表示され、次に UI が画面の右側にポップアップし、2 番目から選択した後に情報が読み込まれるようにしたかったのです。リスト。しかし、最初の ListFragment の onActivityCreated() メソッド内でしかリストを生成できなかったので (そして onActivityCreated() メソッドは重要です。他のメソッドからは機能しません)、最初のリストを置き換える 2 番目のリストに行き詰まりました。最初の ListFragment で。

含まれている FragmentActivity 内で 2 番目の ListFragment を静的クラスを使用して使用しようとしたとき (静的クラスを使用する必要があるように思われる理由はわかりませんが、それは別の議論です)、システムが間違った onActivityCreated() メソッド。これは、異なる ListFragments 内の 2 つのメソッドをどのように区別するかをどのように知っているかによるものです。現時点では Android の内部を知らないため、この問題を回避する方法がわかりません。

別のモデルであるアクション バー全体のタブを使用して、各タブが異なるアクティビティを表すことを考えていましたが、TabActivity クラスが廃止されたことがわかったので、TahHost を使用することをお勧めします。これについては調査を開始します。

投稿の理由は、間違った道を追求し、間違いの量を減らしようとすることです. それで、誰かが同様の問題/課題を抱えていましたか? もしそうなら、どのように解決しましたか?

どんな洞察も高く評価されます。

ありがとう。

4

1 に答える 1

0

あなたが探しているものに似た状況を含む小さなテスト プロジェクトがあります。これには 2 つのページがあり、2 番目のページは 2 つの異なる ListFragments をホストする Fragment アクティビティです。

https://github.com/sababado/NavTest

これが役立つことを願っています。

于 2013-02-15T15:47:49.227 に答える