Can a semi-decidable problem be also decidable?
Yes, a recursively enumerable language may be either decidable or undecidable. To see this, you ust look at the definitions of the terms.

A language $L$ is recursive (aka decidable) if there is a Turing machine that halts for all inputs, accepting every word in&nbsp;$L$ and rejecting every word not in&nbsp;$L$. $L$ is recursively enumerable (aka semi-decidable) if there is a Turing machine that halts and accepts any input in&nbsp;$L$ and, for any input not in&nbsp;$L$, it either halts and rejects or it does not halt.

Therefore, every recursive language is recursively enumerable. The machine that decides the recursive language is a special case of the machine required for a recursively enumerable language: specifically, it is allowed to either loop forever or reject for words not in&nbsp;$L$; in fact, it always rejects and never uses the option of looping forever.