To explain in detail for a long time, but it is necessary to look towards something like ArrayAdapter (or CursorAdapter — it depends where the data for the list come from). Written a separate xml for the list item, then the adapter for each element creates the appropriate View and populates it with data. Keywords for search examples: ListView, ArrayAdapter, getView (this is the adapter method which should be overridden).
With the buttons in the list item, like, too, was some kind of trick, but can't remember now. Like, it was necessary to set the properties of the list item that was pressed it buttons, not the entire element at once.