我有一个简单的回收站视图,包含相对布局 . 除了在 OnBindViewHolder();
处添加文本视图之外,布局目前没有任何内容 . 列表似乎在纵向模式下正常工作但是当我切换到横向并尝试滚动时,文本视图重叠并创建一个奇怪的外观 .
在横向模式下
在纵向模式下 . 码:
@Override
public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
RelativeLayout v = (RelativeLayout) LayoutInflater.from(parent.getContext())
.inflate(R.layout.recycler_layout,parent,false);
context = parent.getContext();
ViewHolder vh = new ViewHolder(v);
return vh;
}
@Override
public void onBindViewHolder(MyAdapter.ViewHolder holder, int position) {
TextView tv = new TextView(context);
tv.setText(mDataSet.get(position));
tv.setTextSize(20);
tv.setPadding(5,20,5,20);
holder.mLayout.addView(tv);
}
以上是我的适配器,下面是我打电话的活动 -
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_to_do_list);
mRecyclerView = findViewById(R.id.mainList);
mLayoutManager = new LinearLayoutManager(this,LinearLayoutManager.VERTICAL,false);
mRecyclerView.setLayoutManager(mLayoutManager);
mAdapter = new MyAdapter(dataset);
mRecyclerView.setAdapter(mAdapter);
mRecyclerView.refreshDrawableState();
//testing
for(int i=0;i<20;i++)
dataset.add("Data "+(i+1));
}
我已经尝试在配置更改上执行 refreshDrawableState();
并将配置更改添加到清单 . 徒劳无功 .
2 回答
将文本视图作为列表项布局的一部分 .
然后更改
onBindViewHolder()
中的代码希望这会有所帮助 .
不要创建新的TextView并在
onBindViewHolder
中使用addView
方法 . 在每个ViewHolder实例上将多次调用此回调,因此将添加多个TextView .您的TextView应该是
recycler_layout
的一部分 .