我有一个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