在另一个 class 中访问 TextWatcher - 空指针异常
Accessing TextWatcher in another class - nullpointer exception
我有一个 activity 并且它的一个功能逻辑是在另一个 class 中计算的,这里我计算何时在编辑文本字段中输入内容,我使用文本观察器。
MainActivity 代码:
public class UnitConverter extends AppCompatActivity {
public EditText input;
.
......
input = (EditText) findViewById(R.id.etInput);
.........
case Sample :
new AnotherClass();
}
我在这个 input
字段上使用 textwatcher,
另一类代码:
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
您需要将您的 activity 引用传递给另一个 class 才能在下方点赞:
MainActivity 代码:
public class UnitConverter extends AppCompatActivity {
public EditText input;
.
......
input = (EditText) findViewById(R.id.etInput);
.........
case Sample :
new AnotherClass(UnitConverter.this);
}
另一类代码:
public class AnotherClass {
public AnotherClass(UniteConverter ac) {
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) {
}
}
}
我有一个 activity 并且它的一个功能逻辑是在另一个 class 中计算的,这里我计算何时在编辑文本字段中输入内容,我使用文本观察器。
MainActivity 代码:
public class UnitConverter extends AppCompatActivity {
public EditText input;
.
......
input = (EditText) findViewById(R.id.etInput);
.........
case Sample :
new AnotherClass();
}
我在这个 input
字段上使用 textwatcher,
另一类代码:
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
您需要将您的 activity 引用传递给另一个 class 才能在下方点赞:
MainActivity 代码:
public class UnitConverter extends AppCompatActivity {
public EditText input;
.
......
input = (EditText) findViewById(R.id.etInput);
.........
case Sample :
new AnotherClass(UnitConverter.this);
}
另一类代码:
public class AnotherClass {
public AnotherClass(UniteConverter ac) {
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) {
}
}
}