As far as I can see I'm doing the same thing I see in the tabs1 api sample from the android sdk. I've tried "getLayoutInflator()" instead of "LayoutInflator.from(this)" with the same result.

If I replace the LayoutInflater line with "setContentView(R.layout.unit_view)" my program doesn't crash with a null pointer exception but my content is completely blank and empty. I get the tab and that's it.

I've checked to make sure R.layout.unit_view and tabHost are not null when it runs the LayoutInflater line and they seem to be fine. They're defenitely not null. I've also checked to make sure LayoutInflater.from(this) returns a valid layout inflater object and it does.

Anybody have any idea how I can get this content into a tab without crashing my application? My actual program is more complex and has more than one tab but I simplified it down to this in an attempt to find out why it's crashing but it still crashes and I don't know why.

If I don't use LayoutInflator my program doesn't crash but I don't get any content either, just tabs.

The TabWidget is causing a crash if you try to draw it before loading the data.
To prevent this just use your async tasks/handlers not only to load the data but to set the content view too.
Of course you could use some other view or progress dialog during the data loading process, just don't present the tabs holder yet.