[android] 입력시 EditText의 텍스트 지우기

edittext 요소를 클릭하면 현재 내용이 지워지도록 설정하고 onclicklistener를 시도하고 있습니다. 여기에 문제가 있습니까? 이 코드를 컴파일하면 강제 종료 및 ActivityManager : Ca n’t dispatch DDM chunk 4d505251 : no handler defined error가 발생합니다.

public class Project extends Activity implements OnClickListener {
    /** Called when the activity is first created. */
    EditText editText = (EditText)findViewById(R.id.editText1);
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);


        editText.setOnClickListener(this);

        setContentView(R.layout.main);

    }

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        editText.setText("");
    }
}



답변

먼저 setContentView(R.layout.main)다른 모든 초기화 를 호출해야합니다 .

아래 코드를 시도하십시오.

public class Trackfolio extends Activity implements OnClickListener {
    /** Called when the activity is first created. */
    public EditText editText;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

        editText = (EditText) findViewById(R.id.editText1);
        editText.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        editText.getText().clear(); //or you can use editText.setText("");
    }
}


답변

또한 아래 코드를 사용할 수 있습니다.

editText.getText().clear();


답변

android:hintEditText 의 속성을 사용하십시오 . 이 텍스트는 상자가 비어 있고 초점이 맞지 않을 때 표시되지만 EditText 상자를 선택하면 사라집니다.


답변

두 가지 방법으로 EditText 데이터를 지울 수 있습니다.

첫 번째 설정 EditText는 아래 줄과 같이 비어 있습니다.

editext.setText("");

다음과 같이 EditText 데이터를 지우는 두 번째

editText.getText().clear();

두 번째 방법을 제안합니다


답변

코드는 다음과 같아야합니다.

    public class Project extends Activity implements OnClickListener {
            /** Called when the activity is first created. */
            EditText editText;
            @Override
            public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);

                setContentView(R.layout.main);
                editText = (EditText)findViewById(R.id.editText1);
                editText.setOnClickListener(this);
            }

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

                if(v == editText) {
                    editText.setText("");
                }
            }
        }


답변

public EditText editField;
public Button clear = null;
@Override
public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
    setContentView(R.layout.text_layout);
   this. editField = (EditText)findViewById(R.id.userName);
this.clear = (Button) findViewById(R.id.clear_button);
this.editField.setOnClickListener(this);
this.clear.setOnClickListener(this);
@Override
public void onClick(View v) {

    // TODO Auto-generated method stub
if(v.getId()==R.id.clear_button){
//setText will remove all text that is written by someone
    editField.setText("");
    }
}


답변

editText 값을 지우는 것은 매우 간단합니다. 버튼을 클릭하면 한 줄 코드 만 따릅니다.

내부 버튼 또는 원하는 곳 어디에서나 사용하십시오.

editText.setText("");