У меня есть RecyclerView (ytRC
), и внутри этого RecyclerView каждый элемент имеет миниатюру и соответствующий заголовок, который попадает внутрь RecyclerView через адаптер (ResultsAdapter
), который помещает миниатюру и название в картотеке. Я хочу сделать свой заголовок в кард-листе одной строкой, что достаточно просто. Но некоторые заголовки слишком длинны, поэтому их обрезают. Я думал, что текстовое представление marquee будет отличным способом исправить это, поэтому я пошел искать решение.android - Прокрутка TextView в каждом элементе RecyclerView по мере необходимости
Я нашел некоторые результаты, такие как this и this. Но эти решения только частично работали, а это означает, что только 1 из 50 элементов в RecyclerView фактически прокручивается, что нужно прокручивать из-за их длины. Я думаю, что это произошло потому, что я вызывал title.setEnabled(true);
и title.requestFocus();
в методе onBindViewHolder()
ResultsAdapter
, и текст только маркировался только при создании определенного вида в RecyclerView.
Другим решением, которое я хотел бы попробовать было создать пользовательский класс TextView ScrollingTextView
:
import android.content.Context;
import android.support.annotation.Nullable;
import android.util.AttributeSet;
public class ScrollingTextView extends android.support.v7.widget.AppCompatTextView {
public ScrollingTextView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init();
}
public ScrollingTextView(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
private void init() {
//set scrolling
setSelected(true);
requestFocus();
}
}
Но, используя этот класс дает те же результаты. Итак, как я могу поменять текст в каждом элементе RecyclerView, который имеет слишком много текста?
Спасибо, это сработало! Я не знаю, почему другие ответы не оправдали меня. В любом случае, атрибут 'inputType', который вы включили в действительности не нужен, и прокрутка работает отлично! – rakeshdas