1

私は最近 Android プログラミングを開始し、TabHost を介してタブで区切られた歴史的なテキスト ドキュメントを表示する最初のプログラムに取り組んでいました。プログラムを 1 つのアクティビティに限定し、TabSpec で setContent を使用して異なる XML ビューを切り替えるだけでした。

このドキュメントには、対応するためにテキスト ビューを作成したテキストの未編集バージョンと修正済みバージョンの両方が含まれています。標準メニューを実装して、「修正を表示」および「オリジナルを表示」するボタンを表示し、変更されたタブの内容を (タブまたはそのインジケーターを変更せずに) 切り替えたいと考えました。

TabHost API を読みましたが、TabSpec の setContent() を使用して既存のタブ コンテンツを編集する方法はありません。AFAIK TabWidget は実際のタブにのみ影響し、タブを押したときに表示されるコンテンツには影響しません。

私は、mTabSpec リストを更新するもう 1 つのメソッドを含めながら、TabHost と super() のすべての元のメソッドを拡張する新しいクラスを作成することを考えました。

私の質問は、特定のタブの frameLayout ビューを更新して、指定したコンテンツを表示するにはどうすればよいですか?

4

1 に答える 1

-2

考えられる 2 つの方向性を示します。少し遅れているため、詳細には触れません。明日回答がない場合は、さらに詳しく説明します。ViewSwitcher クラスを使用できます。これは、対処するビューが 2 つある場合、この種のこと です。ここで良いチュートリアルを見つけることができます。または、2 つのビューを重ねて作成し、ボタンをクリックして元のビューから修正済みに移動するときに、属性の可視性を VISIBLE から GONE に変更し、他のビューの反対を変更するだけです。ただし、コーディングははるかに簡単ですが、以前の方法よりもコーディングが適切ではありません (ビューをテストするには便利です)。

それが役立つことを願って、

セフィー

于 2010-05-20T23:07:07.197 に答える