2011-06-22 9 views
5

Tôi gặp sự cố khi đặt nội dung trên tab mà tôi đã tăng cao từ tệp XML.Android: Cách tự động thay đổi nội dung tab tăng cao?

tôi thêm các tab để TabHost của tôi ('tab') tự động bằng cách làm như sau:

 TabSpec passSpec = tabs.newTabSpec("Pass Tab"); 
     passSpec.setIndicator("Passengers", getResources().getDrawable(R.drawable.tab_message)); 

     passSpec.setContent(new TabHost.TabContentFactory() { 
      public View createTabContent(String tag) { 
       View layout = mInflater.inflate(R.layout.tab_content_passengers, null);     
       return(layout); 
      } 
     }); 
     tabs.addTab(passSpec); 

này hoạt động tốt ... những gì tôi đang gặp rắc rối với đang thay đổi nội dung trên tab đó sau trên. Có cách nào để thực hiện việc này mà không làm tăng lại tất cả các tab có bố cục mới không?

tôi đang cố gắng sau và không có gì xảy ra:

mInflater = LayoutInflater.from(this); 
    View layout = mInflater.inflate(R.layout.tab_content_passengers, null); 
    TextView t = (TextView) layout.findViewById(R.id.testText); 
    t.setText("Hello world??"); 

Trả lời

4

Bạn có thể giữ một tham chiếu đến layout biến (có thể trong bản đồ hoặc thứ gì đó) và sau đó sửa đổi chương trình sau này như sau:

tabMap.get(tabId).findViewById(R.id.testText).setText("The text is changed now!"); 

Miễn là bạn làm điều đó trên chuỗi giao diện người dùng, các thay đổi sẽ được phản ánh ngay lập tức.

+0

Tuyệt vời, cảm ơn bạn, tôi biết rằng đó chỉ là vấn đề ngu ngốc về phạm vi – TomBomb

0

Cố gắng làm

t.invalidate(); 

này nên buộc nó để vẽ lại