fix bug: there will create more than one fragment