Вы, кажется, звоните getStringArray
статически в процессе получения. Попробуйте использовать
Bundle extras = getIntent().getExtras();
чтобы получить экземпляр пакета, содержащий значения, которые вы хотите передать.
Вы также помещаете ArrayList в пакет и получаете массив. Попробуйте сопоставить ваши типы, поэтому используйте
ArrayList<String> titles = extras.getStringArrayList("titles");