我有一個RecyclerView(ytRC
),並且在RecyclerView中,每個元素都有一個縮略圖和一個相應的標題,通過一個適配器(ResultsAdapter
)進入RecyclerView內部,並將標題轉換爲卡片視圖。我想在卡片視圖中將我的標題放在一行中,這很簡單。但是,一些標題太長,所以它們會被切斷。我認爲一個字幕textview將是一個很好的方法來解決這個問題,所以我去尋找一個解決方案。android-根據需要在每個RecyclerView元素中滾動TextView
我發現了一些結果,如this和this。但是,這些解決方案只能部分工作,這意味着RecyclerView的50個元素中只有1個實際滾動,因爲它們的長度需要滾動。我認爲這是因爲我在ResultsAdapter
的onBindViewHolder()
方法中調用title.setEnabled(true);
和title.requestFocus();
,並且僅在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