I'm not familiar with an android pre implemented list view with a checkbox. If there is one, then there should be a way to check them according to position. But I suggest you use a custom ArrayAdapter and define your checkbox. And in getView(), you just check the position and set your checkboxes checked according to the positions.

And in your ListActivity, or ListFragment, you create your MyAdapter and set the adapter with the constructor taking your activity and your checkbox list from your shared pref. If you want to change the description textview, you do it the same way with another array that holds your text and set them in getView() according to your position.