我希望在垂直TextView
或RecycleView
中显示ListView
的列表并且很容易,但TextView
使用整个宽度,我想要当TextView
在使用整个宽度之前结束时,ListView
的下一个项目以剩余宽度开始。例如:
item1 textview blablalbablalba
blalblabla。 item2 textviewvav
blablablalblabllabllalb。第3项
fsafsfsfsfsfsffsfs。
我该怎么办?
我应该自定义TextView还是自定义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
<android.support.v7.widget.RecyclerView
android:id="@+id/rv_scripture"
android:layout_width="match_parent"
android:layout_height="match_parent" />
的java
RecyclerView rvScripture = (RecyclerView) rootView.findViewById(R.id.rv_scripture);
rvScripture.setAdapter(new ScriptureAdapter(getActivity(), myArrayObjs));
rvScripture.setLayoutManager(new LinearLayoutManager(getActivity()));
这是我的适配器。
public class ScriptureAdapter extends
RecyclerView.Adapter<ScriptureAdapter.MyViewHolder> {
private LayoutInflater inflater;
private List<String> data = Collections.emptyList();
public ScriptureAdapter(Context context, List<String> data) {
inflater = LayoutInflater.from(context);
this.data = data;
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = inflater.inflate(R.layout.row_scripture, parent, false);
MyViewHolder viewHolder = new MyViewHolder(view);
return viewHolder;
}
@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
String current = data.get(position);
holder.textView.setText(current);
}
@Override
public int getItemCount() {
return data.size();
}
class MyViewHolder extends RecyclerView.ViewHolder {
TextView textView;
public MyViewHolder(View itemView) {
super(itemView);
textView = (TextView) itemView.findViewById(R.id.row_scripture_textView);
}
}
}
答案 0 :(得分:0)
如果数据仅用于展示,那么我建议最简单的解决方案是将数据合并到变量中并将其输出到滚动视图中的TextView。
答案 1 :(得分:0)
我认为这可以通过在一个巨大的TextView中使用Spannable类来实现。
SpannableStringBuilder builder = new SpannableStringBuilder();
并将所有加载的数据放入字符串列表中,然后重复它们,
您将之前的数据附加到下一个数据,直到您到达数据末尾。
让我知道它是怎么回事!