2011-02-09 12 views
0

どのようにレイアウトが少なく、1つのTabactivityで作成する必要がありますか。1つのTabactivityで複数のレイアウトを作成する

私は以下のコードを試しましたが、運が悪くなっていません。

tabHost.addTab(tabHost.newTabSpec("Sales Order").setIndicator("Sales Order").setContent(R.layout.frm_txn_so_item_list)); 

OKを明確に説明させてください。

私は以下のコードを持っています。私は4つのタブレイアウトページを持っています。それぞれに独自のアクティビティクラスがあります。 cls_so_item_list.classに属しているボタンがあります。私がcls_soで呼び出すときはいつでも、それは常にnull値を返します。

私は、すべてのタブページ(item、product、summary、Report)アクティビティクラスを削除して、cls_soというスタンドアロンクラスを1つ作成するというアイデアが出てきました。

私の質問はどのようにレイアウトページをtabHost.addTabの中に置くのですか?ありがとう

public class cls_so extends TabActivity implements OnClickListener { 
    protected TabHost tabHost; 

    int intSalesOrderId; 
    src_txn_so.cls_so_obj objSalesOrder; 
    static final String LIST_ID = "list_id"; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     tabHost = getTabHost(); 

     newTabIntent("Item", null, cls_so_item_list.class); 
     newTabIntent("Product", 
       getResources().getDrawable(R.drawable.so_product), 
       cls_so_prd_list.class); 
     newTabIntent("Summary", 
       getResources().getDrawable(R.drawable.so_summary), 
       cls_so_summary.class); 
     newTabIntent("Report", 
       getResources().getDrawable(R.drawable.so_report), 
       cls_so_summary.class); 


     Button btnSOLineDiscount = (Button) findViewById(R.id.txn_so_btn_line_discount); 
     btnSOLineDiscount.setOnClickListener(this); 

     tabHost.setCurrentTab(0); 
    } 

    protected void newTabIntent(String label, Drawable icon, Class<?> pageClass) { 
     TabSpec tabSpec = tabHost.newTabSpec(label); 
     tabSpec.setIndicator(label, icon); 

     Intent SOIntent = new Intent().setClass(this,pageClass); 
     SOIntent.putExtra(LIST_ID, -1); 

     tabSpec.setContent(new Intent(this, pageClass)); 
     tabHost.addTab(tabSpec); 
    } 

    @Override 
    public void onClick(View v) { 
     // TODO Auto-generated method stub 

    } 


} 
+1

を持っていますか..? –

+0

どのように私はいくつかのレイアウトと1つのTabactivityで作成する必要ができますか?これの意味は何ですか?説明していただけますか? –

+0

1.私の答えを試しましたか? 2.授業の命名を聞いたことがありますか? 3.質問に情報を追加する場合は、回答を投稿せずに質問を編集します。 –

答えて

0

それはそのようには機能しません。あなたの主なレイアウトでは、FrameLayoutのidにtabcontentという要素を追加してください。<include>はそのレイアウトを指しています。

あなたのコードに変更する必要があります。

tabHost.addTab(tabHost.newTabSpec("Sales Order").setIndicator("Sales Order").setContent(R.id.my_included_layout)); 

あなたがしている場合<include>は、あなたがより多くの情報を提供してくださいすることができ、ID "@+id/my_included_layout"

関連する問題