开发者

Changing a textview text dynamically when it is displayed in a tabhost

开发者 https://www.devze.com 2023-03-22 04:13 出处:网络
Firstly, Im new to android but have years of various other programming experience on unix, windows,but not with Java or android.

Firstly, Im new to android but have years of various other programming experience on unix, windows,but not with Java or android. Im wanting to display a tab with 3 tabs, each having a different layout file (which works). Im working on displaying a "blank" template and then the data is retrieved from an XML file once the user points a setting to one (i.e. via shared preferences).

My problem is that the function populateXMLCharacter is never called (using breakpoints). The tab activity always displays "", which is a strig the string.xml. Actually putting a breakpoint in the oncreate function never gets called either. Ive tried using a call to populateXMLCharacter in onResume, but it too never gets called.

Im thinking its because of the call to the tab:

    Resources res = getResources(); // Resource object to get Drawables
    TabHost tabHost = getTabHost();  // The activity TabHost
    TabHost.TabSpec spec;  // Resusable TabSpec for each tab

    // Do this and the same for all tabs
    spec = tabHost.newTabSpec("Description").setIndicator("Description",
     res.getDrawable(R.drawable.android)).setContent(R.layout.tab_harp_description);
    tabHost.addTab(spec);

Should I be using an intent? I thought the layout was created in a seperate function (in this case harpCSDescription.java and then this allows that activity to be inserted into the tabhost?

other functions: public class harpcsDescription extends Activity {

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView (R.layout.tab_harp_description);
 }
//@Override
protected void onResume() 
{
    // NOW WE ADD DATA TO THE TEMPLATE
    populateXMLCharacter();
}

public void populateXMLCharacter()
{

Ive tried using intents in the following manner but it simply crashes before any breakpoints are reached.

http://developer.android.com/resources/tutorials/views/hello-tabwidget.html

Can some one开发者_如何学运维 please guide me to what I should be doing to create an activity with data that is retrieved AFTER the tab is created?


I think you need an intent. To attach an activity to a tab, write the following in the tab host:

Intent intent = new Intent(this, MyActivity.class);

and then in the tab spec write:

tabSpec = tabHost.newTabSpec("name").setIndicator(this.getString(R.string.name)).setContent(intent)

Then in the MyActivity class, you can specify the layout and load the XML data to populate the tab in the onCreate() method. You can use a different activity for each tab.

0

精彩评论

暂无评论...
验证码 换一张
取 消