gpt4 book ai didi

java - 通过 android studio 使用子字符串时出现错误

转载 作者:行者123 更新时间:2023-12-01 13:22:16 25 4
gpt4 key购买 nike

尝试删除最后一个字符时,出现错误

Cant resolve method substring(int. int) 

我试图为 TextView 实现这一点,这是一个问题,我不确定,因为我能够使用 .append() .setText() 方法成功。

是否有可能需要某种 android 导入才能使用子字符串方法?

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);
}
}
});

最佳答案

这只是一个示例来说明原理 - 使用您拥有的字符串。假设您的字符串是:

getUserAnswerString = "Nevermind";

enter image description here

其长度为9。根据Java docs , String.substring(int beginIndex, int endIndex):

Returns a new string that is a substring of this string. The substring begins at the specified beginIndex and extends to the character at index endIndex - 1.

您想要删除最后一个字符,换句话说,您想要获取新字符串的索引 0 和 7 之间的字符。要使用 substring() 并获取字符串中除最后一个字符之外的所有字符,您需要使用以下参数调用 substring():

  • 第一个参数是0,这意味着您从字符串中的第一个字符开始
  • 第二个参数是8;为什么是8?因为文档说子字符串扩展到索引 endIndex - 1 处的字符,所以如果参数为 8,您的字符串将扩展到索引 8-1 处的字符,即 7。当然,我们不想硬编码 8,因为如果你的字符串发生变化,这段代码可能会中断,所以让我们使用字符串的长度;在本例中它是 9,所以您需要做的就是从长度中减去 1 并将其作为第二个参数传递给 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);

关于java - 通过 android studio 使用子字符串时出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21958622/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com