Хорошо, чтобы быстро ответить на ваш вопрос, вам, вероятно, придется сопоставить ваши строковые функции с вашими функциями фильтра. Как то так.
public function applyFilter(functionName:String):void
{
var selectedFilterFunction:Function = null;
if( functionName == 'myFilter' )
{
selectedFilterFunction = this.myFilter;
}
else if ( functionName == 'anotherFilter' )
.....
listView.filterFunction = selectedFilterFunction
listView.refresh();
}
Возможно, вам даже удастся избежать этого, сделав что-то вроде этого.
listView.filterFunction = this[ fiterFunctionName ] as Function;
В любом случае я думаю, что вы можете понять, что я пытаюсь сказать. Вы должны найти функцию в своем классе как свойство, а затем вы можете использовать ее.
Еще один момент, который вы можете рассмотреть, это выделение этой логики. Обычно, когда у меня есть какой-то фильтр, я применяю его в модели или в презентере в зависимости от фильтра. Я вообще никогда не фильтрую в классе представления.