My experience as well as the experience of others here is that many bettas just don't do well in tanks smaller than 2.5 gallons because it's hard to find a heater and good filter that fits a small tank, plus you have to do partial water changes all the time and this messes up the bacteria balance and your tank can never cycle.
What are your water parameters (by that I mean ammonia levels, nitrate, nitrite, pH - if you don't have a test kit that measures these get one ASAP, test the water, and post your results). I have recently learned that test strips are not good, only use liquid test kits. Then we can help you a lot more...for example if the ammonia level is high that could be making your fish lethargic and very sick.
Also what is your water change schedule? And are you changing all the water at once? You should never change all of the water at once, that's bad for the fish.
Are you using water conditioner when you change the water? If not there could be harmful chemicals like chlorine in the water that are poisoning him.
Do you have any sort of heater for your tank? Bettas need water in the 78-80 degree range all the time. If the temp. gets too low they can become inactive and get sick, also if the temperature of the water changes drastically (for example at night in your house when the lights are off the water gets real cold) then your fish could become shocked.
Once we know the answers to the above questions somebody here can hopefully help you diagnose your betta! When I first got mine he did the same thing and I came here and learned that bettas need all the same equipment as any fish (despite what pet stores tell you) and I bought Marley a heated, filtered, 5 gallon aquarium and he's been healthy ever since.