TextView с шатром не работает


Несмотря на то, что мне удалось сделать marquee TextView, Как я следовал учебнику, и он работает правильно, когда я попытался сделать другой TextView в другой деятельности, как marquee это не сработало. Я последовал тому же самому шагу точно, но безрезультатно. как ты думаешь, чего мне не хватает?

обновление

Я думаю, что проблема заключается в focus представлении, потому что я проверил, имеет ли TextView фокус даже после вызова imgPathTv.setSelected(true), и в результате он не имеет сосредоточить.

Updated_Code

String imgPath = dataBaseRow.getImgPath();
    if (imgPath.equals("")) {
        Log.d(TAG, "@createInfoReport(): dataBaseRow.getImgPath() Returns NULL");
        imgPathTv.setText("NULL");
    }else {
        Log.d(TAG, "@createInfoReport(): dataBaseRow.getImgPath() Has Value");

            imgPathTv.setSelected(true);
            imgPathTv.setText(imgPath);

            if(imgPathTv.findFocus() != null) {
                Toast.makeText(getApplicationContext(), "there is a View has the Focus", Toast.LENGTH_SHORT).show();
            }else
                Toast.makeText(getApplicationContext(), "NO View has the Focus", Toast.LENGTH_SHORT).show();
    }

Java_Code:

    TextView imgPathTv = (TextView) mDialog.findViewById(R.id.imgPathValue);
    Log.i(TAG, "@createInfoReport(): imgPathTv IS IN FOCUS");
    imgPathTv.setSelected(true);

TextView_xml:

<TextView 
                    android:id="@+id/imgPathValue"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:singleLine="true"
                    android:ellipsize="marquee"
                    android:marqueeRepeatLimit="marquee_forever"
                    android:scrollHorizontally="true"
                    android:focusable="true"
                    android:focusableInTouchMode="true"
                    android:fadingEdge="horizontal"/>
2 3

2 ответа:

Возможно, длина вашего текста недостаточно велика, чтобы маркер работал. Другими словами, маркер работает только тогда, когда текст находится на расстоянии, превышающем его соответствующую ширину/площадь. Итак, я рекомендую попробовать установить android:layout_width, чтобы быть, например, 200dp или даже больше. затем попробуйте marquee. Надеюсь, это поможет.

Может быть, не ответ на решение, но должен показать код. Работает ли он, если задать следующие параметры? Я не думаю, что cursorVisible важен для этого, но, возможно, полосы прокрутки и focusableInTouchMode. Я попробовал его с этими параметрами, и это сработало.

android:scrollbars="horizontal"    
android:cursorVisible="false"   
android:focusableInTouchMode="true"