【问题标题】:Hide part of a string in EditText (Java/Android)在 EditText (Java/Android) 中隐藏部分字符串
【发布时间】:2015-11-17 07:39:44
【问题描述】:

是否可以使用类似

的方法在editText中隐藏部分字符串
editText.hide(int start, int finish);

这样在显示中我无法读取字符串的隐藏部分,但是如果我在代码中使用editText.getText() 之类的方法,它会包含隐藏字符串吗?

【问题讨论】:

  • “隐藏”是什么意思?就像星号一样?
  • @PPartisan 我不想在我的应用程序的 editText 中看到部分字符串...但是这部分字符串在代码中 EditText 的文本内

标签: java android string android-edittext substring


【解决方案1】:

您可以执行以下操作:

String wholeString = editText.getText().toString();
editText.setText(editText.getText().toString().substring(int start, int end));

其中 start 和 end 是整数,您希望字符串在您设置的位置开始和结束。

所以现在你有了隐藏之前的整个字符串。另外,如果你想在你的editText中间隐藏某个部分,你可以这样做:

editText.setText(editText.getText().toString().substring(0, 20) + editText.getText().toString().substring(25, 30));

您在其中设置带有许多字符串的 editText 文本。这会将字符串从位置 21 隐藏到 25。您必须根据需要对其进行修改。

您可能还需要知道一个名为 lastIndexOf("Some Text") 的字符串方法

示例:

//You have a string called example.
String example = "Android development is fun and nice."
String cutExample = example.substring(example.lastIndexOf("is") +3, example.lastIndexOf(".");

结果将是:"fun and nice"

所以lastIndexOf()会返回定义字符串的位置。

用我写的来测试。希望对您有所帮助。

【讨论】:

  • 我有作为计算器显示的editText,并且我已经强制如果在我单击 PiGreco 按钮之前有一个数字,则显示显示“x Pigreco”而不是“Pigreco”。这是因为我的 calc 方法代码需要找到运算符来计算表达式(我不能写“8Pigreco”而是“8 x Pigreco”)。所以我希望在我的代码中的 EditText 中我有“ x ”以允许我的方法工作,但同时我希望计算器显示显示“8Pigreco”而不是“8 x Pigreco”。
  • 在你的情况下,你有不同的情况,你需要创建像 number1number2 这样的整数以及 的字符串运算符,然后执行您的代码。这就是它的完成方式。您可以在互联网上搜索计算器教程。有很多。
  • 我已经完成了数字按钮和计算器方法,所以我想在显示中看到“8Pigreco”,而在 EditText 的文本中我有“8 x Pigreco”
  • 就像我有这个字符串“大家好”,我希望在显示中看到“你好”,但在代码中字符串的值仍然是“大家好”
  • @GabrieleMarcozzi 我认为你想要做的是(在抽象意义上)对于一个“东西”来说太大了。您希望同一个字符串具有两种不同的含义。但是字符串是“小”的。它们一次只能表示一件事。为什么没有一个“真实”字符串用于内部计算,而另一个“漂亮”字符串用于显示给用户?如果您愿意,用户可以输入“真实”内容,然后您可以不断地将其复制到真实字符串,然后将用户输入转换为“漂亮”内容。
猜你喜欢
  • 2013-01-02
  • 2016-10-23
  • 1970-01-01
  • 2014-02-24
  • 2014-08-07
  • 1970-01-01
  • 2020-12-10
  • 2022-01-17
  • 2017-09-19
相关资源
最近更新 更多