我有一个活动,其中一个功能逻辑是在另一个类中计算的,这里我计算在编辑文本字段中输入内容时,我使用文本观察器。
MainActivity代码:
public class UnitConverter extends AppCompatActivity {
public EditText input;
.
......
input = (EditText) findViewById(R.id.etInput);
.........
case Sample :
new AnotherClass();
}
在input
字段上使用textwatcher,
AnotherClass代码:
public class AnotherClass {
UnitConverter ac = new UnitConverter();
public AnotherClass() {
ac.input.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable s) {
}
public void beforeTextChanged(CharSequence s, int start,
int count, int after) {
}
public void onTextChanged(CharSequence s, int start,
int before, int count) {
}
}
}
收到空指针错误,
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.EditText.addTextChangedListener(android.text.TextWatcher)' on a null object reference
答案 0 :(得分:1)
您需要将您的活动参考传递给另一个类,如下所示:
MainActivity代码:
name="tab3"
AnotherClass代码:
public class UnitConverter extends AppCompatActivity {
public EditText input;
.
......
input = (EditText) findViewById(R.id.etInput);
.........
case Sample :
new AnotherClass(UnitConverter.this);
}