Looking for alternatives to Page Factory

Hi. I’m working with the code base that is using Page Factory. My apps (native Android and iOS) have a lot of lists and right now each page object has 2-3 locator that get elements like this:

@AndroidFindBy(xpath = “(//someXpath)[index]”

I would like to be able to choose dynamically any element from the list based on the needs of my test and not to be limited to only hardcoded locators. My initial though was to format the string ("(//someXpath)[%s].format(index)") and then find them directly with the driver.findElement(…).
However, my framework should cover both iOS and Android and usually the locators are different for both platforms, so I have to create two string locators with the placeholder which is hard to read and create other problems.

What would be the best approach in this case?