loc*_*boy 81 android android-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("");
}
}
Run Code Online (Sandbox Code Playgroud)
Ser*_*kyi 175
您也可以使用下面的代码
editText.getText().clear();
Run Code Online (Sandbox Code Playgroud)
Chi*_*rag 108
首先,您需要调用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("");
}
}
Run Code Online (Sandbox Code Playgroud)
我们可以通过两种方式清除EditText数据
First One设置EditText为空,如下线所示
editext.setText("");
Run Code Online (Sandbox Code Playgroud)
第二个清除这样的EditText数据
editText.getText().clear();
Run Code Online (Sandbox Code Playgroud)
我建议第二种方式
你的代码应该是:
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("");
}
}
}
Run Code Online (Sandbox Code Playgroud)
对于科特林:
创建两个扩展,一个用于 EditText,一个用于 TextView
编辑文本:
fun EditText.clear() { text.clear() }
Run Code Online (Sandbox Code Playgroud)
文本视图:
fun TextView.clear() { text = "" }
Run Code Online (Sandbox Code Playgroud)
并像这样使用它
myEditText.clear()
myTextView.clear()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
230840 次 |
| 最近记录: |