입력시 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:hint
EditText 의 속성을 사용하십시오 . 이 텍스트는 상자가 비어 있고 초점이 맞지 않을 때 표시되지만 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("");
package com.example.sampleproject;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
public class SampleProject extends Activity {
EditText mSearchpeople;
Button mCancel , msearchclose;
ImageView mprofile, mContact, mcalender, mConnection, mGroup , mFollowup , msetting , mAddacard;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.dashboard);
mSearchpeople = (EditText)findViewById(R.id.editText1);
mCancel = (Button)findViewById(R.id.button2);
msearchclose = (Button)findViewById(R.id.button1);
mprofile = (ImageView)findViewById(R.id.imageView1);
mContact = (ImageView)findViewById(R.id.imageView2);
mcalender = (ImageView)findViewById(R.id.imageView3);
mConnection = (ImageView)findViewById(R.id.imageView4);
mGroup = (ImageView)findViewById(R.id.imageView5);
mFollowup = (ImageView)findViewById(R.id.imageView6);
msetting = (ImageView)findViewById(R.id.imageView7);
mAddacard = (ImageView)findViewById(R.id.imageView8);
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
mCancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
mSearchpeople.clearFocus();
}
});
}
}
// 클리어 버튼 클릭시 클리어
firstName = (EditText) findViewById (R.id.firstName);
clear = (Button) findViewById(R.id.clearsearchSubmit);
clear.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if (v.getId() == R.id.clearsearchSubmit);
firstName.setText("");
}
});
이렇게하면 입력 한 잘못된 키워드를 지우는 데 도움이되므로 백 스페이스 키를 계속 누르는 대신 버튼을 클릭하여 모든 것을 지울 수 있습니다. 도움이되기를 바랍니다.
위의 솔루션을 구현하는 동안 내가 어떤 실수를했는지 모르겠습니다. bt 나에게 실패했습니다.
txtDeck.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
txtDeck.setText("");
}
});
이것은 나를 위해 작동합니다.
final EditText childItem = (EditText) convertView.findViewById(R.id.child_item);
childItem.setHint(cellData);
childItem.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
//Log.d("NNN", "Has focus " + hasFocus);
if (hasFocus) {
Toast.makeText(ctx.getApplicationContext(), "got the focus", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(ctx.getApplicationContext(),
"loss the focus", Toast.LENGTH_SHORT).show();
}
return;
});
빈 문자열을 설정하여 편집 텍스트를 지울 수 있습니다.
editext.setText("");
코드에서도 EditText의 'android : hint'속성을 사용할 수 있습니다.
editText.setHint(CharSequence hint / int resid);
Then you don't need any onClickListener or similar. But consider that the hint value won't be passed. The editText will be stayed empty. In this case you can set your editText with your deflault value:
if(editText.getText().toString().equals("")) {
...use your default value instead of the editText... }
참고URL : https://stackoverflow.com/questions/5308200/clear-text-in-edittext-when-entered
'programing tip' 카테고리의 다른 글
마우스 오버 또는 호버 vue.js (0) | 2020.10.13 |
---|---|
Python 중첩 함수 변수 범위 지정 (0) | 2020.10.13 |
오늘 날짜가 날짜 범위에 속하는지 확인하는 방법은 무엇입니까? (0) | 2020.10.13 |
uitextview에 html 텍스트 표시 (0) | 2020.10.13 |
새 div를 동적으로 만들고, 변경하고, 이동하고, JavaScript에서 가능한 모든 방법으로 수정하는 방법은 무엇입니까? (0) | 2020.10.13 |