Is it important to represent the correct amount of *?
So Adam would be A*** and Benny would be B****
If not, easiest way, I think, would be to have a second attribute where you copy the first character of your original data (use substring), follow by a fixed amount of *. Do this on save or change action (depending on how you are getting your data). You can display this new attribute in your listview.
If you need to get the exact amount of *, you can do a similar thing, but you will need to extend your logic using ‘length’ to get the string length and replace everything except the first character with an *