Вопрос по string, android – Как поставить «-» в файле string.xml

73

Мне нужно иметь возможность поставить & quot; - & quot; в строке внутри моегоstrings.xml файл.

Моя проблема в том, что когда я ставлю свою строку, которая"1261eba2-9d8c-11e1-93e3-40409e0f44a1"Затмение кричит:

Multiple annotations found at this line: - Replace "-" with an "en dash" character (–, &;#8211;)

Как я могу это исправить?

Показать тег Bhavin
Lint таинственное очарование Amir Uval
где именно вам нужно это значение? Это тег, значение тега или значение атрибута? rekaszeru
заменить & quot; - & quot; с & quot; \ - & quot; carmen_munich

Ваш Ответ

7   ответов
77

если вы хотите отобразить строку для пользователя. Пользователь не может действительно отличить «реальный» от разницы штрих и Unicode обман.
Но если вы действительно должны иметь тире (например, потому что эта строка используется где-то в качестве пароля или в качестве URL-ключа для API), вы можете просто использовать этот формат:

<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="TypographyDashes">
    <string name="EVA_API_KEY">3c42b725-5e20-41c8-982f-dee40be8a05b</string>
</resources>

Предупреждение будет удалено, и строку можно прочитать с помощью обычного:

getResources().getString(R.string.EVA_API_KEY);
более простой, более элегантный, поддержка кода Google Analytics.
это лучший ответ. Благодарю.
Один совет: вы можете добавить инструменты: ignore = & quot; TypographyDashes & quot; разделить только эти строки & lt; string & gt; теги, которые действительно нуждаются в реальном тире.
Я пытался запустить номеронабиратель для 9-1-1, и ваш ответ был ключом к этому. Спасибо!
По какой-то причине это сработало только для меня, когда я поместил игнорирование в строку, которую я использую. Спасибо за ответ, который я обнаружил, что это был неправильный штрих, но как заставить его работать, было не так просто.
0

Ctrl + 1 по умолчанию и в Android Studio естьAlt + Enter по умолчанию.

2

<string name="abc">Welcome &#45; Bro...</string>

и для большего количества символов используйте ссылку ниже

http://www.degraeve.com/reference/specialcharacters.php

Наслаждаться...

0

<string name="test1">1261eba2-9d8c-11e1-93e3-40409e0f44a1</string>

Но вам нужен любой из них:

<string name="test2">1261eba2&#8211;9d8c&#8211;11e1&#8211;93e3&#8211;40409e0f44a1</string>
<string name="test3">1261eba2–9d8c–11e1–93e3–40409e0f44a1</string>

Во втором - - заменяется на & # x2013 ;. Трудно заметить разницу визуально.

Будьте осторожны: если вы измените эти символы в URL, он может перестать работать (мой сделал).
Я хочу заменить короткий символ тире (n-тире) на экранированную последовательность. Но&#8211; выглядит как escape-последовательность для длинного символа тире (m-dash).
14

back slash (\) перед каждым специальным символом. как я \ & android.

Это называется побег персонажа. (\)

проверьте мой ответ сейчас. это обратная косая черта ().
когда я использую то, что вы все говорите, он удаляет & quot; - & quot; символ ... что я получаю это: 1261eba29d8c11e193e340409e0f44a1 insted из 1261eba2-9d8c-11e1-93e3-40409e0f44a1 ... roiberg
Я думаю, вы имеете в виду добавить символ выхода: & quot; \ & quot; перед каждым специальным персонажем.
en.wikipedia.org/wiki/Escape_character escape-символ - это обратная косая черта - & quot; \ & quot; косая черта не впереди - & quot; / & quot;
@ drew212, это ошибка, спасибо, что поправили меня ..
3

gn, but differs from both of these symbols primarily in length and function. The most common versions of the dash are the en dash (–) and the em dash (—), named for the length of a typeface's lower-case n and upper-case M respectively.

Ссылка

Просто замени- с потому что когда вы набираете тире на клавиатуре, XML читает тире как минус, вот и все.

108

ты должен заменить- с&#8211;, Тогда должно работать нормально =)

http://en.wikipedia.org/wiki/Dash

Я думаю, что код для endash, а не обычный дефис.
Это нормально, когда вы просто хотите отобразить строку для пользователя. Пользователь не может сказать, что вы "обманываете" с похожим символом юникода. Если вы просто хотите использовать обычную черту, посмотрите этот ответ:stackoverflow.com/a/10895509/78234

Похожие вопросы