TextView Android отображает «ноль» под фактическими строками - PullRequest
0 голосов
/ 13 сентября 2011

Есть идеи, откуда может исходить слово "ноль"?Это появляется только на определенных устройствах, большинство тестируемых устройств не имеют этого базового слова.Ниже приведен частичный снимок экрана, на котором показана проблема со словом «ноль» в моем макете:

enter image description here

РЕДАКТИРОВАНИЕ: Вот XML:

        <TextView 
        android:id="@+id/day"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:ellipsize="end"
        android:text="DAY: "
        style="@style/ForecastLayout.Detail.DayTextSizeBold"/>

и код, который его заполняет:

TextView dayTitle_tv = (TextView) v.findViewById (R.id.day);

buf = mContext.getApplicationContext (). getResources (). getString ()R.string.day) .toUpperCase ();

            dayTitle_tv.setText(buf + ":"); 

Я делаю то же самое для названий внизу экрана, загруженных мной изображений:

// headings
            // precip
            tv = (TextView)v.findViewById(R.id.precip_title);
            tv.setText(mContext.getApplicationContext().getResources().getString(R.string.precip).toUpperCase());

            // day
            tv = (TextView)v.findViewById(R.id.day_title);
            tv.setText(mContext.getApplicationContext().getResources().getString(R.string.day).toUpperCase());

            // night
            tv = (TextView)v.findViewById(R.id.night_title);
            tv.setText(mContext.getApplicationContext().getResources().getString(R.string.night).toUpperCase());

и яне получить "нулевой" основной.Ммм?

Ответы [ 3 ]

0 голосов
/ 13 сентября 2011

если вы хотите получить доступ к android:text в вашем XML-файле, используйте TextView.getText();

, так как вы ссылаетесь на строковый ресурс

R.string.day

, похоже, что нет строки с именем dayесли вы хотите, вы можете добавить его в свой файл res / values ​​/ strings.xml

, добавив

<string
        name="day"
        >some value </string>

и добавить его в текстовое представление следующим образом

 <TextView 
    android:id="@+id/day"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:ellipsize="end"
    android:text="@string/day"
    style="@style/ForecastLayout.Detail.DayTextSizeBold"/>

поэтому, если вы сделаете этот вызов

buf = mContext.getApplicationContext().getResources().getString(R.string.day).toUpperCase(); 

, он не вернет нулевое значение

0 голосов
/ 22 сентября 2011

Мне нужно было инициализировать мою переменную чем-то отличным от "null" Я не видел, чтобы другой разработчик инициализировал эту переменную как «ноль». Я изменил это на пустую строку, и проблема решена!

0 голосов
/ 13 сентября 2011

Я подозреваю, что поскольку вы определяете текст напрямую, а не ссылаетесь на файл ресурса (как вы должны это делать), Android видит, что для этого поля не определен ресурс.

Затем он говорит "о, в этом поле ничего нет "и поэтому присваивает Spannable значение, которое он использует для его рисования, но также рисует ваш текст.

Попробуйте переключиться на использование файлов ресурсов и посмотрите, поможет ли это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...