2011-08-05 32 views
0

私のAndroidタブウィジェットでは、タブの順序や位置が他のタブに対して変更されるようにタブのインデックスを変更したいと考えています。私はドキュメントでこれを行う方法はありません。誰でもアイデアはありますか?Android:TabWidgetのタブ順序/位置を変更

私は右側に最後のタブが「+」と表示されたスクロールタブバーを持っています。ユーザーがこれをクリックすると、新しいタブが作成されます。しかし、新しいタブは常に右端まで作成されており、新しいタブをちょうど "+"タブの左側に挿入したいのです。

答えて

0

TabHost.javaをご覧ください。ほとんどの場合、独自のTabHostをロールし、addTabを変更してインデックスを取得し、それに応じて追加する必要があります。

+0

ありがとうございました。私はコードを見て、私はこの仕事をするために私がaddTabで何が変わるかを見ていると思う。しかし、私はJavaで偉大ではないと私はあなたが私のためにクラス全体をコピーして私の変更を行うことを意図している場合は、私はプロジェクトを好きではなかったimport com.android.internal.R)、またはTabHostを拡張して新しいaddTabメソッドを書き込むか、それをオーバーライドするクラスを書くことを意味する場合(拡張したときにスーパークラスのプライベートメンバーにアクセスできるとは思わない) 。 – Lamprizzle

+0

ええ、あなたはシバン全体をコピー/ペーストしてそれを機能させる必要があります。これは参照する内部クラスの数に応じて複雑になる場合もあるし、そうでない場合もあります。パッケージにコピーする必要があります。すべての参照とともにパッケージにコピーする必要があります(例:com.android.internal.R)。 xxx - > com.my.package.R.xxx)。 –

+0

この問題を解決しようとすると、私はTabWidgetでコピーして、このクラスでプロジェクトにアクセスできないものにアクセスしようとすると、さらに多くの問題が発生しました。もう一つの難点は、TabHostとTabWidgetの両方が、複製しようとしたくない描画可能なスタイルのリソースを参照していることです。だから私は左端に "新しいタブ"タブを置いておくつもりです。 – Lamprizzle

0

あなたはTabHostを拡張してaddTabWithIndex()に独自の実装を追加できますか? TabHost内には多くのデータ構造がありますが、これはプライベートであるため、拡張によっては問題が完全に解決されない可能性があります。

+0

私はしようとしたが失敗した。さまざまなサブデータ構造が進行中 –