I used to have an upholstery business. Headliners are not that hard. You can buy the headliner fabric from an upholstery supply. It is as wide as the headliner is, all you need is the length, allow a little extra. Get a can or 2 of 3M spray glue from the auto supply. Take the headliner down, wiggle, ease it our the door. Pull the old fabric off, and clean it real good. I used a wire brush on a drill on some, others I just rubbed off with my thumbs. All that rotted foam has to come off!
Then position the new fabric on the headliner board. Pull part of it back and spray the headliner board. make sure that you get the fabric where you want it the first time, cause that glue STICKS! Rub the fabric down, roll up the other end to where it is glued. Spray a strip, unroll fabric and smooth down. Repeat until done. Trim it up and put it back in the truck. Done!
Or you could get a staple gun and staple the crap out of it.