問題タブ [tabactivity]
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 の最初のタブ アクティビティが永遠に存続するのはなぜですか?
いくつかの JSON データを読み取る実行時にタブを作成する単純な TabActivity を作成しました。現時点では、タブからタブへの変更が機能し、コンテンツが消えないことを確認するために、各タブのダミーのランダム項目で空の ListActivity を初期化しています。タブの実際のコンテンツはシングルトン クラスに保存されるため、画面の向きの変更によりタブ アクティビティが再作成されると、インテントのエクストラ バンドルに含まれる識別子に従って、それぞれのリストから正しいダミー アイテムを取得するだけです。 .
すべて正常に動作します。画面の回転時にアクティビティが再作成されるのを監視するために、リスト アクティビティの onCreate メソッドにログを記録しました。ただし、最初のタブのアクティビティは、表示されていなくても常に再作成されるという奇妙な点があります。3 番目または 4 番目のタブに切り替えてデバイスを回転させると、最初のタブを除いて、以前のタブは強制終了され、再作成されません。最初のタブは常にそこにあります。なんで?コードのバグは理解できますが、タブ アクティビティはチュートリアルからコピーされ、リスト アクティビティはすべてのタブで同じです。ここに私が得るいくつかのログがあります:
ログからわかるように、各リスト アクティビティはエクストラ バンドルに入れられた識別子をログに記録し、それ以外はほとんど何もしません。アプリケーションが起動し、最初のタブが作成されたら、回転して他のタブに切り替えます。それらの onCreate メソッドが呼び出されます。そして、ログは、タブを切り替えて回転する方法を示しています。表示されているタブに応じてさまざまなアクティビティが再作成されますが、最初のアクティビティは常にそこにあります。
最初のタブが常に再作成されるのはなぜですか? この特別な動作は何らかの理由で必要ですか? これは HTC Legend API レベル 7 で見られます。
更新: 個々のタブを作成する TabActivity のループにいくつかのログを追加しました。最初のタブが追加されると、そのアクティビティが常に作成されるように見えます。これを回避する方法はありますか?ダミーの空のタブを作成し、後で実際のアクティビティを入力することはできますか? いくつかのログ:
android - setFastScrollEnabled はすべての電話で正常に動作し、ハニカム タブレットではクラッシュします
私は最近 Xoom を入手し、現在 HoneyComb タブレット用のアプリの改善に取り組んでいます。私の最後の問題は、TabActivity への FastScroll を含む ListView に関するものです。
このコードは 2 年間、すべての電話で正常に機能しており、setFastScrollEnabled で問題が発生しています。私のスニペットでわかるように、この行を削除する必要がありました。そうしないと、この例外が発生します (以下を参照)。
問題は何ですか?私が見つけた唯一の回避策は次のとおりです。
アダプターを投稿できますが、それは関係ないと思います。
android - YouTube/Google ミュージック アプリのように、スワイプして Android のタブを切り替えます
アプリの最新バージョンでは、Google はタブ ヘッダーをクリックするのではなく、タブ間をスワイプする非常にクールな方法を実装しています。これがどのように行われるかについて、誰かがより具体的なアイデアを持っているかどうか疑問に思っていました。
ここにいくつかの考えがあります - 自由に批評してください:
私の最初の考えでは、これはTabActivity
子アクティビティをホストする標準ではありません。実際、私もそれが習慣だとは思いませんActivityGroup
。スワイプするとタブの行がスクロールしますが、アクティブなタブは切り替わりません。
タブのメイン コンテンツをスワイプすると、興味深い動作が見られます。メイン コンテンツ エリアに GestureListener が接続されていると思われます。タブをスワイプすると、隣接するタブの行が表示されます。これは、これが水平方向にスクロール可能なListView
のグループであることを示唆しているようです。これは、水平方向にスクロール可能な HTML div のようなもので、すべてのコンテンツが既に存在しますが、スワイプすると表示されます。ただし、行のレンダリングがどのように処理されるかはよくわかりません(伝統的に、リストを左右ではなく上下にスクロールすると、行が作成されて表示されます)。それで、それもカスタムListView
実装ですか?左右にスクロールしないときはListView
、高速スクロールやプルダウン時のグロー効果など、通常のスクロールと同じように動作します。
ScrollView
端までスワイプしたときのグロー効果によって証明されるように、タブの列はおそらくです。タブの内容の行はそうではありません。
私は、この本当に気の利いた UI を構成するさまざまな部分のメンタル モデルを構築しようとしています。どんな洞察も大歓迎です。
android - Android アプリのレイアウトのヘルプ
私はこのデザインで画面を構築しています:
- tabActivity (「メイン タブホスト」と呼びます)
- そのタブウィジェットは画面の下部にあります
- このタブホスト MAIN のコンテンツは、画面の上部にあるタブウィジェットを持つ新しい TabActivity を参照し、そのコンテンツは ListActivity です。
私はアンドロイド開発に不慣れで、あるアクティビティを他のアクティビティと一緒に使用するのが正しいアプローチであるかどうかを本当に理解していません。これは現在機能していますが、いくつかのバグがあり、それらを修正する方法や、まったく新しいアプローチを取らずに開始する方法が本当にわかりません...
バグ:
1.-リストアクティビティに十分なアイテムがある場合、スクロール時にメインタブウィジェットに表示されます
2.- リストビューのスクロールを停止すると、MAIN タブウィジェットの後ろに表示されます
3.- セカンダリ タブホストでタブ ボタンを押すと、一番下のタブホスト (MAIN) で使用されているアイコンが非常に短い間表示されます。
android - tabHost の setCurrentTab
タブホストとタブスペックを含むクラス以外のクラスから、タブホストで setCurrentTab を呼び出すことができるかどうか尋ねています。
入れますか
これとは別のクラスで:
静的変数にすることはできますか? どうすればこれを達成できますか?
ご清聴ありがとうございました!
android - タブ内に葯のタブを表示するためのAndroidの呼び出し
私のアプリケーションでは、TabActivityを使用しています。別のタブ内で現在のタブを変更したいのですが。つまり、現在のタブには、別のタブにあることを通知するために別のカテゴリを呼び出すボタンがあります。ありがとう、Eyal。
android - ListActivity を子として TabActivity に onBackPressed() を実装する
TabActivity に onBackPressed() を実装する際に問題があります。この TabActivity には子として ListActivity があり、これには子として Activity があります。
この onBackPressed メソッドはここでは機能しません。
android - アクティビティからタブを設定する
TabActivity があり、それぞれ 5 つのアクティビティを持つ 5 つのタブ内にあります。タブの 1 つを設定したいのですが、TabActivity (上部のタブをクリック) からではなく、任意のタブのアクティビティから設定します。たとえば、アクティビティ 3 (3 番目のタブに関連付けられている) のボタンをクリックします。私の TabActivity にはmTabhost
、選択したタブを設定するために使用できる変数があります
Activity1-2-3-4 からその変数にアクセスする必要があると思いますが、その変数を static にするとうまくいきません。
android - TabActivityの実装
タブアクティビティを作成しようとしています。それはうまくいきます。android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
マニフェストファイルの定義で作成
します。ただし、起動時に全画面表示されない場合があります。私のプログラムはスプラッシュ画面から始まります。それは通常の活動です。私のタブは画面の一番下にあります。したがって、タブは画面内に配置されます。
誰かが問題について知っていますか?