Почему я не вижу ошибки lint для жестко закодированного текста в андроид студии - PullRequest
0 голосов
/ 11 октября 2018

Во время чтения на инструменте Lint я попытался протестировать его на простом проекте в Android Studio.Просто создал новый проект с пустой активностью.XML для mainActivity выглядит следующим образом:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</android.support.constraint.ConstraintLayout>

и Mainactivity.java:

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}

Из Android Studio, когда я пытаюсь запустить Analyze >> Inspect Code >> весь проект;в результате проверки он показывает следующее: изображение результата проверки

Не должно ли также отображаться предупреждение для жестко закодированного текста («Hello World!»), который используется для текста TextViews?

Поскольку я не получал предупреждение, я попытался изменить уровень серьезности в настройках >> редактора >> Проверка, как показано на этом изображении .Но, тем не менее, результат проверки тот же.Нет предупреждений или ошибок.

Куда я иду не так?

Ответы [ 2 ]

0 голосов
/ 26 декабря 2018

Это происходит потому, что строка Hello World! это особый случай :

if (value == "Hello World!") {
    // This is the default text in new templates. Users are unlikely to
    // leave this in, so let's not add warnings in the editor as their
    // welcome to Android development greeting.
    return
}
0 голосов
/ 11 октября 2018

Нашел причину странную.Если я уберу восклицательный знак из текста («Привет, мир!»), То он показывает ошибку / предупреждение.По какой-то причине с восклицательным знаком, добавленным к тексту, Lint не показывает предупреждение для жестко закодированного текста.

...