Bom estou diante de um problema que venho tentando resolver a um tempinho e nao to vendo uma solução, talvez voces possam me dar uma maozinha, desde ja agradeço.
O problema e o seguinte:
Eu tenho uma avaliaçao para ser montada de forma genérica onde a ordem das perguntas da avaliaçao vem de uma coluna na tabela chamada titulo, ex:.
tabela Pergunta
rowID | titulo | pergunta
0 | 1. | Nome do local
1 | 1.1 | endereço
o problema e quando o titulo chega em 10.1 por exemplo ai ele considera o 10.0 menor que o 5.1 por exemplo, bom para resolver isso transformei tudo em float e ele conseguiu ordenar de forma correta mas ai cai em outro problema, quando o titulo é do tipo 5.1.1, 4.1.2 que no caso nao posso converter pra float.
Consegui resolver de uma forma meio feia, mas numa proxima versao do uma melhorada nele...
vo coloca em baixo o que fiz...
publicintcompare( Object object1, Object object2 ) throws ComparisonException{NSArrayarray1=newNSArray( StringUtils.split( ((Questao)object1).pergunta().titulo(), "." ) );NSArrayarray2=newNSArray(StringUtils.split(((Questao)object2).pergunta().titulo(), "." ));for( int i = 0; i < array1.count(); i++ ){Integerint1=Integer.parseInt( (String) array1.objectAtIndex( i ));Integerint2=Integer.parseInt( (String) array2.objectAtIndex( i ));intresult=NSComparator.AscendingNumberComparator.compare( int1, int2 );if( result != 0 ){returnresult;}}return0;}
Obrigado pela atençao jairelton, vou deixar seu codigo aqui comentado pra uma futura avaliação, é que o tmepo ta curto aqui para uma "simples" ordenação.
abraço.