2013년 3월 17일

3099 단어
1. EditText는 입력한 비밀번호를 숨깁니다
EditText를 암호로 입력하는 것은 현재 많은 응용 프로그램에서 사용되는 방식입니다. 다음은 암호를 숨기거나 표시하도록 설정하는 두 가지 방법입니다.
레이아웃 파일에 password 속성을 설정하려면 다음과 같이 하십시오.
<EditText
              android:layout_width="fill_parent"
              android:layout_height="wrap_content"
              android:password="true"/>

코드에서 이렇게 사용하려면 다음과 같이 하십시오.
      
 //  EditText     
et01.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
              //  EditText      
et01.setTransformationMethod(PasswordTransformationMethod.getInstance());

 
2, EditeText 사용자 입력 수신: setOnKeyListener 이벤트
EditText Widget 디자인의 취지는 User 입력을 기다리기 위해 준비한 것이다. 그러면 User 입력과 동시에 setOnKey Listener 이벤트를 사용하여 사용자가 EditText에서 키를 감청하고 캡처할 수 있다. 그러나 이런 방식은 하드디스크 이벤트만 감청하고 플로피 디스크를 감청할 수 없다.
Text Watcher 클래스도 사용할 수 있습니다. 이런 방식은 소프트 키보드와 하드 키보드를 감청할 수 있습니다. 우리는 onText Changed 방법만 실현하면 됩니다. 또한 Text Watcher는before Text Changed와after Text Changed 방법을 제공하여 감청 처리를 더욱 상세하게 입력하는 데 사용합니다.
다음 절차에서는 캡처된 내용을 TextView에 표시합니다.
import android.app.Activity;
import android.os.Bundle;
importandroid.text.Editable;
importandroid.text.TextWatcher;
import android.util.Log;
import android.view.Menu;
importandroid.widget.EditText;
importandroid.widget.TextView;
 
public class MainActivityextends Activity {
 
       TextView textView01;
       EditText editText01;
      
       @Override
       protected void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.activity_main);
             
              textView01 = (TextView)findViewById(R.id.textView01);
              editText01 = (EditText)findViewById(R.id.editText);
              editText01.addTextChangedListener(new TextWatcher() {
                    
                     public void onTextChanged(CharSequence s, intstart, int before, int count) {
                            Log.i("  ", s +"/" + start + "/" + before + "/" + count);
                            textView01.setText(editText01.getText());
                     }
                    
                     public void beforeTextChanged(CharSequence s,int start, int count,
                                   int after) {
                            Log.i("  ", s +"/" + start + "/" + count);
                     }
                    
                     public void afterTextChanged(Editable s) {
                            Log.i("  ", s +"");
                     }
              });
             
       }
 
       @Override
       public boolean onCreateOptionsMenu(Menu menu) {
              // Inflate the menu; this adds items to the action barif it is present.
              getMenuInflater().inflate(R.menu.main, menu);
              return true;
       }
}

좋은 웹페이지 즐겨찾기