うまく動作するパスワードジェネレータアプリを作ったが、パスワードを保存できるように更新したい。ユーザーに生成されたパスワードが表示され、そのうちの1つを保存するオプションと、保存されたパスワードを持つ別のタブがあるタブを1つ作成します。私はdeveloper.android.comのチュートリアルを見ましたが、タブごとに個別のアクティビティを作成する必要はありません。私はXAMLとC#を使用してWPFアプリケーションを作成するためにタブを使用しました。ここでは、XAMLコードでTabControlとTabItemを使用するだけです。これに似た何かをすることは可能ですか?Androidでタブを使用する
0
A
答えて
1
ただし、タブごとに個別のアクティビティを作成する必要はありませんが、タブごとにレイアウトを設定する必要があります。 TabHost
、TabWidget
、およびFrameLayout
が必要です。 TabWidget
とFrameLayout
はTabHost
の子でなければならず、特定のIDが割り当てられている必要があります。 TabWidget
のIDはandroid.R.id.tabs
でなければなりません。 FrameLayout
のIDはandroid.R.id.tabcontent
でなければなりません。 に(TabHost
の任意の部分の)View
またはLayout
を追加する必要があります。次にすべてをリンクするTabSpec
を作成する必要があります。これはちょっとこのように見えます(プログレッシブ)。
TabHost host = new TabHost(context);
TabWidget widget = new TabWidget(context);
widget.setID(android.R.id.tabs);
FrameLayout frame = new FrameLayout(context);
frame.setID(android.R.id.tabcontent);
frame.addView(viewForTab1);
frame.addView(viewForTab2);
host.addView(widget);
host.addView(frame);
host.setup(); //must be called when defining a tabhost outside of a tabactivity, iirc..
TabSpec spec;
do {
spec = host.newTabSpec(uniqueStringReference);
spec.setContent(viewOrLayoutForTheTab);
spec.otherStuffYouMightWant();
host.addTab(spec);
} while (you have tabs to add);
Aにはいくつか質問があります。 TabHost、TabWidget、およびFrameLayoutがmain.xmlファイルに既にある場合、新しいオブジェクトを作成する代わりにfindViewById(R.id.nameOfView)を使用できませんでしたか?それで、私はフレームやウィジェットやフレームをTabHostに追加しなければならないとは思わない。また、uniqueStringReferenceは何ですか? –
私はあなたがfindViewByIdを使うことができると確信しています。個人的にはXMLを多用していません - 私はコードを使って私の大部分をやりたいので、スクリーン。しかし、あなたが言うことはおそらく動作するでしょう。私が信じる 'uniqueStringReference'は、それが一意であるかぎり、あなたが望むものです。それはあなたがそれを取得する必要がある場合は、タブの参照のためにあなたが使用するものです(ビューのIDのようなものです)。少なくとも、私はそれが目的であると信じています。私はしばらくのうちにAPIを見ていません。 –