我一直在尝试运行该应用程序,但是每次都抛出相同的错误,我已经尝试了所有可能的方法。我真的很想要专家的帮助。 如果我也应该提供.xml文件,那么这是一个简单的应用程序,可以通过idk进行数字计算和处理,但是如果需要,我肯定会提供。
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final EditText e1=(EditText) findViewById(R.id.name);
final EditText e2=(EditText)findViewById(R.id.date);
final EditText e3=(EditText)findViewById(R.id.month);
final EditText e4=(EditText)findViewById(R.id.year);
Button b=(Button) findViewById(R.id.button);
char[] n = e1.getText().toString().toCharArray();
int date = Integer.parseInt(e2.toString());
int month = Integer.parseInt(e3.toString());
int year = Integer.parseInt(e4.toString());
int nn = 0;
int driver=date, conductor=date+month+year;
int temp,k=0;
//EditText Jumping Module-------------------------------
e2.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
public void onTextChanged(CharSequence s, int start, int before,
int count) {
int tl = e2.getText().length();
if (tl >= 2) {
e3.requestFocus();
}
}
@Override
public void afterTextChanged(Editable editable) {
}
});
e3.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
public void onTextChanged(CharSequence s, int start, int before,
int count) {
int lt = e3.getText().length();
if (lt >= 2) {
e4.requestFocus();
}
}
@Override
public void afterTextChanged(Editable editable) {
}
});
我认为代码的其余部分没有任何问题,因此我已经在上面提供了。谢谢
答案 0 :(得分:0)
jhamon的评论是当场的。您的EditTexts很可能为空,用户尚未输入任何值,但是您尝试获取该值。但是,由于您不包括日志和 xml (在撰写本文时),因此我将假定EditTexts具有您在xml,这是您此时想要获得的值。
对于EditText e1,您将获得如下文本:
e1.getText().toString()
对于其余的EditText,您缺少getText()
。您只需说:
int date = Integer.parseInt(e2.toString());
int month = Integer.parseInt(e3.toString());
int year = Integer.parseInt(e4.toString());
因此添加getText()
。
但是请添加日志输出,然后添加xml。这确实会帮助我们为您提供帮助! ;)