1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

Ignore case on highlight....

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Unicate, 07.01.2012.

  1. Unicate, 07.01.2012 #1
    Unicate

    Unicate Threadstarter Android-Experte

    Beiträge:
    473
    Erhaltene Danke:
    57
    Registriert seit:
    09.08.2010
    Nocheinmal der Selbe Fall wie hier.
    Das ersetzen funktioniert hervorragend allerdings mit einem Nachteil.
    Hier einmal ein mein Code:

    PHP:
    ContactMatch match = (ContactMatchm;
    if (
    match.getFullname().toLowerCase().contains(_currentSearchString.toLowerCase())) {
        
    match.setHtmlName(match.getFullname().replaceAll(_currentSearchString"<b>" _currentSearchString "</b>"));
        
    addMatch(match);
    }
    Wenn ich nun nach "pat" suche würde der Kontakt "Patrick" zwar mit angezeigt aber nicht Dick dargestellt werden.

    Gibt es da schon was einfaches oder muss ich das selber coden?
     
  2. Bobert, 07.01.2012 #2
    Bobert

    Bobert Erfahrener Benutzer

    Beiträge:
    161
    Erhaltene Danke:
    15
    Registriert seit:
    21.11.2010
    Phone:
    Nexus S
    Hi

    ich würde es so machen:

    PHP:
    String _currentSearchString "Pat";
    String ret ""
    String fullName "Patrik";
            
    if (
    fullName.toLowerCase().contains(_currentSearchString.toLowerCase())) {
        for (
    String e fullName.split(" ") ) {
            
    ret += e.toLowerCase().contains(_currentSearchString.toLowerCase()) ? "<b>""</b>" e;  
        }            

    Gruß Bobert
     
    Zuletzt bearbeitet: 07.01.2012
  3. Unicate, 07.01.2012 #3
    Unicate

    Unicate Threadstarter Android-Experte

    Beiträge:
    473
    Erhaltene Danke:
    57
    Registriert seit:
    09.08.2010
    Naja bei deiner Variante finde ich aber immer noch nicht den "Patrik" wenn ich "pat" klein schreibe.

    Hier meine funktionierende Variante:

    PHP:
    if (match.getFullname().toLowerCase().contains(_currentSearchString.toLowerCase())) {
        
    int start match.getFullname().toLowerCase().indexOf(_currentSearchString.toLowerCase());
        
    String replace match.getFullname().substring(startstart+_currentSearchString.length());
        
    match.setHtmlName(
                
    match.getFullname().replaceAll(
                        
    replace
                        
    "<b>"+replace+"</b>"
                
    )
        );                    
        
    addMatch(match);
    }
     
    Zuletzt bearbeitet: 07.01.2012

Diese Seite empfehlen