問題タブ [android-tablayout]

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 に答える
409 参照

android - Android フラグメントの置換に関する問題

私が持っているもの:

API 22 で最新の Android サポートとデザイン ライブラリを使用しています。次のように、アプリが最初にインストールされたときにのみ実行するProgressFragmentというフラグメントがあります。

これがレイアウトです

このフラグメントにはAsyncTaskが含まれています。完了すると、次のように AsyncTask コールバックonPostExecute()内のMainActivityの別のフラグメント ( MainFragmentと呼ばれる) に置き換えられます。

これはMainFragmentレイアウトです。

編集:

これは MainActivity のレイアウトです。

問題:

ProgressFragment の AsyncTask が完了し、MainFragment に置き換えられると、TabLayoutビューにタブが表示されません。

ここに画像の説明を入力

私のアプリケーションには、起動時に 2 つの可能なパスがあります。次のいずれかです。

  1. ProgressFragment を追加します (最初に実行した場合) -> 次に MainFragment に置き換えます

  2. それ以外の場合は MainFragment を追加します (ここではタブが正常に表示されます)

どちらの Fragment 置換も MainActivity で行われます。

問題はパス1を扱います

編集2:

MainActivity でrecreate()を呼び出すと、今のところこれが「修正」されます。私はそれを解決策とは呼びませんが。後で戻ってきます。

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

java - スライド タブ レイアウトのプロパティを変更する

下の画像で ここに画像の説明を入力

質問 1: スライド タブ レイアウトで青色のアンダーバーの色とテキスト (フラッシュ カードなど) のテキストの色を変更したい。

どうすればそれを変更できますか? また、名前の後に続くスペースを変更したい:「MyAccount」

質問 2: タブをスライドすると、ツールバー (フラッシュカード) の上部にある見出しが変わるはずです。それを行う方法はありますか。レイアウト用の私の XML ファイルは次のようになります。

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

android-studio - Android Design Support Library - ツールバー付きのタブレイアウト

eclipse から Android Studio に移行したばかりで、発生したいくつかの問題を修正しています。その 1 つは、ActionBar が提供するタブ ナビゲーションを削除し、AD サポート ライブラリが提供する Tablayout に切り替えることです。すべてうまく機能していますが、特定のフラグメントが画面に表示されているときにツールバーにメニュー項目を追加する方法がわかりません。

問題の一部は、私の MainActivity が setActionBar() を受け取る FragmentActivity を展開し、ツールバーが v7 サポート ライブラリからのものであることだと思います。もちろん、そのツールバーはそのメソッドと互換性がありません。setSupportActionBar() を試しましたが、それは FragmentActivity にあるメソッドではありません。ここでは、ActionBarActivity を展開してそのメソッドにアクセスする必要があります。どちらも非推奨です (クラスとメソッド)。

個々のフラグメントがツールバーのオプション メニューで利用可能なオプションを更新する方法を教えてください。

activity_main.xml:

MainActivity.java:

例Fragment.java:

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

android - 可視性が GONE から VISIBLE に変わると、TabLayout テキストが消える

Android の TabLayout に問題があります。最小 SDK が 10 であるため、AppCompat ライブラリを使用しています。問題は、アクティビティが最初に作成されたときに TabLayout の可視性が GONE になっている場合、後で可視性を VISIBLE に設定すると、タブのタイトルとタブ インジケーターが表示されないことです。

これが私のMainActivityです:

TabActivity は次のとおりです。

ページ アダプタ:

断片:

レイアウトも非常にシンプルです。

activity_main.xml

activity_tab.xml

my_fragment.xml

TabActivity.onCreate で可視性 GONE を設定すると失敗します。TabActivity.onCreate で VISIBLE の場合は機能します。

.invalidate() を使用しようとしましたが、機能しません。

誰でも私を助けることができますか?

よろしくお願いします。

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

android - getItemPosition から ViewPager のフラグメントを更新する

デザイン サポート ライブラリの新しい TabLayout を含む画面があります。フラグメントを表示するために使用される ViewPager もあります。このフラグメントは、選択されたタブに応じて異なるビューのリストを表示します。

アプリはネットワーク呼び出しへの応答を受け取ります。私のアクティビティは、ViewPager に属する FragmentPagerAdapter を、応答によって返されたデータで更新します。私の場合、これは 3 つのリストです。

私の ViewPager ではonPageChangeListener()、ページが選択されたことを検出するために をオーバーライドしてから、新しいタブ位置で FragmentPagerAdapter を呼び出します。notifyDataSet()ビューを再描画するためにも呼び出します。

getItemPosition()Fragment に渡すリストを決定するメソッドをオーバーライドします。しかし、私はこれが正しい方法だとは思いませんgetItemPosition。このメソッドは、実際には各フラグメントを同じ結果リストで更新しています。次のタブにスクロールすると、スクロールが解放されるまで現在のリストが次のタブに表示され、フラグメントは正しいリストで再描画されます。

私の質問は、ViewPager Fragments にリストを表示するための正しいアプローチをとっていますか? それとも、物事を真剣に複雑にしすぎていますか? 私は ViewPagers または FragmentPagerAdapters の経験があまりないので、どんな意見でも大歓迎です。

私のコードは以下の通りです。

フラグメントの追加 (から呼び出されるonResume())

ViewPager FragmentPagerAdapter クラス

0 投票する
13 に答える
33146 参照

android - タブレイアウトを無効にする

デザイン ライブラリによって提供される新しいクラス: TabLayout を使用しています。そして、私が使用している特定のケースでは、もうタブを変更できないようにしたいと考えています。

ビューページャーでスワイプを無効にできましたが、タブをクリックしてページの変更を無効にする方法がわかりません。

前もって感謝します。