时间:2017-09-18 16:38:32
标签:
java
android
我似乎无法让我的设置文本行工作。我正在尝试按下一个可以清除文本视图的按钮。
btnClick = (Button) findViewById(R.id.button4);
btnClick.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
txtBox1 = (EditText) findViewById(editText9);
editText9.setText("");
txtBox2 = (EditText) findViewById(editText10);
editText10.setText("");
}
});
btnClick = (Button) findViewById(R.id.button5);
txtBox2 = (EditText) findViewById(editText10);
btnClick.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
txtBox2 = (EditText) findViewById(editText10);
editText10.setText("");
String s = new String(binary);
txtBox1.setText(s);
3 个答案:
答案 0 :(得分:0)
我认为这里有两件事我认为可以提供帮助。首先是这一行:
txtBox2 = (EditText) findViewById(editText10);
您传递给findViewById()的参数可能是int类型。通常你会使用R.id常数,但是没有必要的技术原因。因此,我们可以得出结论editText10是一个int。
然后有这两行:
txtBox2 = (EditText) findViewById(editText10);
editText10.setText("");
这些内容就像您尝试清除txtBox2中的文字一样,但您在错误的变量上调用setText()方法。也许您可以将editText10.setText("")替换为txtBox2.setText("")。
无论如何,您收到此错误的原因是您拨打setText()的对象不是TextView。我怀疑它是int,但它可能完全不同。
答案 1 :(得分:0)
您必须在使用之前初始化视图。否则,它将为null。
您已为其设置btnClick = (Button) findViewById(R.id.button5);后初始化onClickListener。它实际上不会起作用。
确保在使用之前初始化所有视图。
最佳实施方式是首先初始化所有视图然后再使用它
您的实施应该是这样的:
txtBox2 = (EditText) findViewById(editText10);
txtBox1 = (EditText) findViewById(editText9);
btnClick = (Button) findViewById(R.id.button5);
btnClick.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
editText9.setText("");
editText10.setText("");
}
});
btnClick.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
editText10.setText("");
String s = new String(binary);
txtBox1.setText(s);
答案 2 :(得分:-1)
您正在清除编辑文本而不是textView
尝试txtBox2.getText().clear();