Очистить текст в EditText при вводе
Я пытаюсь установить и onclicklistener так, что когда я нажимаю в элементе edittext он очистит его текущее содержимое. Здесь что-то не так? Когда я компилирую этот код, я получаю force quit и ActivityManager: не могу отправить DDM chunk 4d505251: нет обработчика определенной ошибки.
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("");
}
}
12 ответов:
сначала вам нужно позвонить
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(""); } }
просто использовать
android:hintатрибут в вашем EditText. Этот текст отображается, когда поле пусто и не сфокусировано, но исчезает при выборе поля EditText.
ваш код должен быть:
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.когда u нажмите кнопку, то только следовать 1 код строки.
внутри кнопки или в любом месте вы хотите.Используйте только это
editText.setText("");
мы можем очистить данные EditText двумя способами
первый параметр EditText пуст, как ниже строки
editext.setText("");вторая очистка данных EditText, как это
editText.getText().clear();Я предлагаю второй способ
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(); } }); } }
//для очистки при нажатии кнопки Очистить
имя = (полей EditText) findViewById, чтобы найти(ИД Р.."имя");
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(""); } });Это поможет очистить неправильные ключевые слова, которые вы ввели, поэтому вместо того, чтобы снова и снова нажимать backspace, вы можете просто нажать кнопку, чтобы очистить everything.It работал на меня. Надеюсь, Это Поможет
Я не знаю, какие ошибки я сделал при реализации вышеуказанных решений, но они были неудачными для меня
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; });
Comments