我有以下代码:
public void click(View v)
{
Button b = (Button) v;
TextView viewEditText = (TextView) findViewById(R.id.functionTextView);
String editText = viewEditText.getText().toString();
if (b.getId() == R.id.backspace)
{
if (viewEditText.length() > 0)
{
if (editText.substring(editText.length() - 1, editText.length()) == ".")
{
periodTrue = false;
}
viewEditText.setText(viewEditText.getText().toString().substring(0, viewEditText.length() - 1));
}
}
}
在这段代码中,如果前面的条件为真,我检查被退格的字符是否是句点。它将变量 periodTrue 设置为 false。这告诉应用程序可以添加另一个句点。
一切都backspace像往常一样使用密钥,除了它永远不会在设置变量的 if 语句中出现。它不会引发任何错误,我已经检查过
viewEditText.append(editText.subString(editText.length()-1, editText.length());
验证返回的字符是否为“.”。
我不知道为什么它不起作用,并且在编译或运行时也不会引发错误或警告。所以我来找你看看是否有不同的观点可以表明我明显做错了什么。