尝试删除最后一个字符时,我收到错误
Cant resolve method substring(int. int)
我正在尝试为TextView
实现此问题是一个问题,我不确定,因为我能够成功使用.append()
和.setText()
方法。
是否有可能需要使用某种类型的android导入才能使用substring方法?
getUserIn_DEL = (Button) findViewById(R.id.userIn_DEL);
getUserAnswer = (TextView) findViewById(R.id.userInAnswer);
getUserIn_DEL.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (!getUserAnswer.getText().equals("?")) {
String getUserAnswerString = getUserAnswer.getText().toString();
int userAnswerLength = getUserAnswerString.length();
int userAnswerLengthMin = userAnswerLength - 1;
int userAnswerLengthMax = userAnswerLength + 1;
getUserAnswerString = substring(userAnswerLengthMin, userAnswerLengthMax);
getUserAnswer.setText(getUserAnswerString);
}
}
});
答案 0 :(得分:0)
这就是你应该这样做的方式
getUserAnswer.getText().substring(userAnswerLengthMin, userAnswerLengthMax);
答案 1 :(得分:0)
这只是一个例子来说明原理 - 使用你拥有的字符串。假设你的字符串是:
getUserAnswerString = "Nevermind";
长度为9.根据Java docs,String.substring(int beginIndex,int endIndex):
返回一个新字符串,该字符串是此字符串的子字符串。子字符串从指定的beginIndex开始,扩展到索引endIndex - 1处的字符。
您想要删除最后一个字符,换句话说,您希望获取新字符串的索引0和7之间的字符。要使用substring()并获取除最后一个字符串之外的字符串的所有字符,您需要使用以下参数调用substring():
以下是适用于任何字符串的通用代码:
//get length of our string
int userAnswerLength = getUserAnswerString.length();
//get all the characters except for the last one ans assign to your variable
//getUserAnswerString will be "NEVERMIN" after the below line executes
getUserAnswerString = getUserAnswerString.substring(0, userAnswerLength - 1);