2016-07-27 3 views
-1

나는이 조각을 보유하고있는 활동이 .... 자바와 안드로이드에서 트림 작업 방법?

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()); 

쓰기 이, B 또는 텍스트 뷰의 텍스트를 편집 쇼 공간에서 C은 무엇

해결책?

+0

사용되는 글꼴이 사용 된 유니 코드 문자를 지원하지 않을 수 있습니까? 테스트를 위해 다른 유니 코드 문자를 사용해보십시오. 또한 정규 표현식을 사용하는'replaceAll' 대신'replace (char, char)'를 사용합니다 (유니 코드에 문제가있을 수 있습니다) – Robert

답변

0

활동을 시작할 때 EditText의 값을 한 번만 읽고 있습니다. 완전히 작동하는 예제가 있습니다. EditText에 입력하면 텍스트가 바뀝니다.

@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

응용 프로그램 실행시이 활동이 중지되었습니다 – pouyakarimdost

+0

어떤 오류가 발생합니까? – pxsx

+0

죄송합니다. 앱이 중지되었습니다. – pouyakarimdost