Очистить текст в EditText при вводе
Я пытаюсь установить и onclicklistener, чтобы при щелчке по элементу edittext он очистил его текущее содержимое. Здесь что-то не так? Когда я компилирую этот код, я получаю принудительное завершение работы и ActivityManager: Не удается отправить кусок DDM 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("");
}
}
Ответы
Ответ 1
Сначала вам нужно вызвать 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("");
}
}
Ответ 2
Также вы можете использовать код ниже
editText.getText().clear();
Ответ 3
просто используйте атрибут android:hint
в вашем EditText. Этот текст появляется, когда поле пусто и не сфокусировано, но исчезает при выборе поля EditText.
Ответ 4
Мы можем очистить данные EditText двумя способами
Первый параметр EditText пуст, как показано ниже строки
editext.setText("");
Вторая очистка данных EditText, подобных этой
editText.getText().clear();
Я предлагаю второй способ
Ответ 5
Ваш код должен быть:
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("");
}
}
}
Ответ 6
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("");
}
}
Ответ 7
Очень просто очистить значения editText.when u нажмите кнопку, а затем следуйте 1 строковому коду.
Внутри кнопки или где угодно хотите. Используйте только этот
editText.setText("");
Ответ 8
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();
}
});
}
}
Ответ 9
Я не знаю, какие ошибки я совершил при реализации вышеупомянутых решений, потому что они не увенчались успехом для меня
txtDeck.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
txtDeck.setText("");
}
});
Это работает для меня,
Ответ 10
//Очистить При нажатии кнопки "Очистить"
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("");
}
});
Это поможет очистить неверные ключевые слова, которые вы набрали, вместо того, чтобы снова и снова нажимать назад, вы можете просто нажать кнопку, чтобы очистить все. Я работал у меня. Надеюсь, что это поможет
Ответ 11
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;
});
Ответ 12
установив пустую строку, вы можете очистить свой edittext
editext.setText("");
Ответ 13
Вы можете использовать атрибут android: hint в вашем EditText также из кода:
editText.setHint(CharSequence hint / int resid);
Тогда вам не нужен onClickListener или аналогичный. Но учтите, что значение подсказки не будет передано. EditText останется пустым. В этом случае вы можете установить свой editText со значением по умолчанию:
if(editText.getText().toString().equals("")) {
...use your default value instead of the editText... }