0

TabHost を使用して、アプリケーション内に 3 つのタブ (ダッシュボード、注文、および顧客) を表示しています。これらはそれぞれ、ListView を含む個別のアクティビティであり、正しく機能しています。それらはすべて、Android マーケットプレイス内のような「エンドレス スクロール」システムを備えており、異なるタブを切り替えても ListView 内の位置を保持します。ListView 内の項目をクリックすると、現在、まったく新しいアクティビティの全画面が読み込まれ、TabHost が終了します。これらのアクティビティを TabHost 内にロードしたいと思います (例: 顧客リスト内の特定の顧客をクリックすると、顧客タブ内に留まっている間に顧客の詳細を表示できます。その後、失うことなく顧客リストに戻ることができます)。あなたの位置/リストのリロード)。ActivityGroup と ViewFlipper について読んだことがありますが、

4

1 に答える 1

0
mTabHost = getTabHost();
mTabHost.setOnTabChangedListener(this);
TabSpec spec;
String Tab_title3 = "NameofTab";


TextView txtTabInfo3 = new TextView(this);
    setUpTextView(txtTabInfo3);
    txtTabInfo3.setText(Tab_title3);

intent = new Intent();
intent.setClass(this, YourClass.class);
spec = mTabHost.newTabSpec(Tab_title3).setIndicator(txtTabInfo3)
            .setContent(intent);
    mTabHost.addTab(spec);

したがって、YourClass が ListActivity である場合、たとえば顧客の詳細を含む別のリストを使用してポップアップ ダイアログを配置し、閉じるボタンを追加できます。ダイアログでは、カスタム ビュー、アダプターなどを使用したリスト ビューをセットアップできます。たとえば、メソッドでは次のようになります。

buildMyDialog(){
  final Dialog dialog = new Dialog(this);
  lv2=new ListView(this);
  lv2.setAdapter(mAdapter2);
   //....
 final Button cancelButton=new Button(this);
  dialog.setContentView(lv2);

  dialog.show(

}

于 2011-09-07T09:11:02.577 に答える