2016-07-27 4 views
-1

ich eine Aktivität haben, in dem ich diese Schnipsel haben ....wie arbeit mit trim in java und android?

et = (EditText) findViewById(R.id.et); 
tv = (TextView) findViewById(R.id.textView8); 
String name =et.getText().toString(); 
String a ="a"; 
String b ="b"; 
String c ="c"; 
String d ="d"; 
String e ="e"; 
String f ="f"; 
String g ="g"; 
String h ="h"; 
String a1 ="\u24B6"; 
String b1 ="\u24B7"; 
String c1 ="\u24B7"; 
String d1 ="\u24B9"; 
String e1 ="\u24BB"; 
String f1 ="\u24BB"; 
String g1 ="\u24BD"; 
String h1 ="\u24BD"; 
name =name.replaceAll(a,a1); 
name =name.replaceAll(b,b1); 
name =name.replaceAll(c,c1); 
name =name.replaceAll(d,d1); 
name =name.replaceAll(e,e1); 
name =name.replaceAll(f,f1); 
name =name.replaceAll(g,g1); 
name =name.replaceAll(h,h1); 
tv.setText(name.trim()); 

wenn Schreib ein, b oder c im Raum Text zeigen bearbeiten in Textansicht

was Lösung?

+0

Kann die verwendete Schriftart die verwendeten Unicode-Zeichen nicht unterstützen? Testen Sie verschiedene Unicode-Zeichen. Außerdem würde ich 'ersetzen (char, char)' statt 'replaceAll' die reguläre Ausdrücke verwendet (möglicherweise Probleme mit Unicode machen?) – Robert

Antwort

0

Sie Wert von EditText Lese nur einmal - wenn Sie eine Aktivität fangen. Es gibt voll funktionierendes Beispiel: Text wird ersetzt, wenn in EditText eingegeben.

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    final EditText et = (EditText) findViewById(R.id.et); 
    final TextView tv = (TextView) findViewById(R.id.textView8); 
    final String a = "a"; 
    final String b = "b"; 
    final String c = "c"; 
    final String d = "d"; 
    final String e = "e"; 
    final String f = "f"; 
    final String g = "g"; 
    final String h = "h"; 
    final String a1 = "\u24B6"; 
    final String b1 = "\u24B7"; 
    final String c1 = "\u24B7"; 
    final String d1 = "\u24B9"; 
    final String e1 = "\u24BB"; 
    final String f1 = "\u24BB"; 
    final String g1 = "\u24BD"; 
    final String h1 = "\u24BD"; 

    et.addTextChangedListener(new TextWatcher() { 
     @Override 
     public void beforeTextChanged(final CharSequence s, final int start, final int count, final int after) { 

     } 

     @Override 
     public void onTextChanged(final CharSequence s, final int start, final int before, final int count) { 
      String name = et.getText().toString(); 
      name = name.replaceAll(a, a1); 
      name = name.replaceAll(b, b1); 
      name = name.replaceAll(c, c1); 
      name = name.replaceAll(d, d1); 
      name = name.replaceAll(e, e1); 
      name = name.replaceAll(f, f1); 
      name = name.replaceAll(g, g1); 
      name = name.replaceAll(h, h1); 
      tv.setText(name.trim()); 
     } 

     @Override 
     public void afterTextChanged(final Editable s) { 

     } 
    }); 
} 
+0

diese Aktivität stoped wenn app laufen – pouyakarimdost

+0

Welche Fehler bekommen Sie? – pxsx

+0

Entschuldigung App gestoppt – pouyakarimdost