Java RecyclerView或ListView垂直,带有换行内容的行布局
我想在垂直的Java RecyclerView或ListView垂直,带有换行内容的行布局,java,android,xml,listview,android-recyclerview,Java,Android,Xml,Listview,Android Recyclerview,我想在垂直的RecycleView或ListView中显示TextView列表,这很简单,但是TextView使用整个宽度,我想当TextView在使用整个宽度之前结束时,ListView的下一项从剩余宽度开始。例如: 项目1文本视图blalbalba 布拉布拉item2 textviewvav blalblablabllalb.item3 fsafsfsfsfs 我该怎么做 我应该做一个自定义的文本视图还是一个自定义的RecyclerView/ListView或者什么 我有de row.xml
RecycleView
或ListView
中显示TextView
列表,这很简单,但是TextView
使用整个宽度,我想当TextView
在使用整个宽度之前结束时,ListView
的下一项从剩余宽度开始。例如:
项目1文本视图blalbalba布拉布拉item2 textviewvav
blalblablabllalb.item3
fsafsfsfsfs 我该怎么做 我应该做一个自定义的文本视图还是一个自定义的RecyclerView/ListView或者什么 我有de row.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/row_scripture_textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="10sp" />
</LinearLayout>
这是我的适配器
公共类适配器扩展
RecyclerView.适配器{
私人充气机;
私有列表数据=Collections.emptyList();
公共适配器(上下文、列表数据){
充气器=充气器。从(上下文);
这个数据=数据;
}
@凌驾
公共MyViewHolder onCreateViewHolder(视图组父级,int-viewType){
视图=充气机。充气(R.layout.row_经文,父级,false);
MyViewHolder viewHolder=新的MyViewHolder(视图);
返回视图持有者;
}
@凌驾
公共无效onBindViewHolder(MyViewHolder,int位置){
字符串当前=data.get(位置);
holder.textView.setText(当前);
}
@凌驾
public int getItemCount(){
返回data.size();
}
类MyViewHolder扩展了RecyclerView.ViewHolder{
文本视图文本视图;
公共MyViewHolder(查看项目视图){
超级(项目视图);
textView=(textView)itemView.findViewById(R.id.row\u crossic\u textView);
}
}
}
如果数据只是为了显示,那么我建议最简单的解决方案是将数据组合成一个变量,并将其输出到scrollview中的TextView中。我认为在一个巨大的TextView中使用Spanable类是可以实现的
SpannableStringBuilder builder = new SpannableStringBuilder();
并将所有加载的数据放入字符串列表中,然后作为迭代
将上一个数据附加到下一个数据,直到到达数据的末尾
让我知道进展如何 您打算使用此列表做什么?它有更多的功能还是只是为了展示?@MohamedYassin只是为了展示,我想要一个选项来查看一个项目低于另一个项目(正常行为),正如我在提示中所解释的,但这就是我使用RecyclerView/ListView的原因。我需要单击这些项目…我的意思是,每一项都是点击式的,我不知道如何感谢你!我爱你!我不知道Spanable之类的东西,我在研究Spans,我解决了未来的问题。实际上,你没有解决我的问题,但你引导了我:)
SpannableStringBuilder builder = new SpannableStringBuilder();