Java RecyclerView在布局更改时工作不正常
我有一个由相对布局组成的简单回收器视图。目前,除了在Java RecyclerView在布局更改时工作不正常,java,android,xml,android-recyclerview,Java,Android,Xml,Android Recyclerview,我有一个由相对布局组成的简单回收器视图。目前,除了在OnBindViewHolder()添加文本视图外,版面中没有任何内容 该列表在纵向模式下似乎运行良好,但当我切换到横向并尝试滚动时,文本视图重叠并产生一种奇怪的外观 以横向模式 在纵向模式下。 代码: 上面是我的适配器,下面是我调用的活动- @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState)
OnBindViewHolder()添加文本视图外,版面中没有任何内容代码>
该列表在纵向模式下似乎运行良好,但当我切换到横向并尝试滚动时,文本视图重叠并产生一种奇怪的外观
以横向模式
在纵向模式下。
代码:
上面是我的适配器,下面是我调用的活动-
@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));
}
@覆盖
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u to\u do\u列表);
mRecyclerView=findViewById(R.id.mainList);
mLayoutManager=新的LinearLayoutManager(这是LinearLayoutManager.VERTICAL,false);
mRecyclerView.setLayoutManager(mllayoutmanager);
mAdapter=新的MyAdapter(数据集);
mRecyclerView.setAdapter(mAdapter);
mRecyclerView.refreshDrawableState();
//测试
对于(int i=0;i不创建新的TextView,并在onBindViewHolder
中使用addView
方法。
此回调将在每个ViewHolder实例上调用多次,因此将添加多个TextView
您的文本视图应该是“回收器”布局的一部分。将文本视图作为列表项布局的一部分
class ViewHolder{
TextView tv;
ViewHolder(View v){
tv = (TextView) v.findViewById(<textview_id>);
}
}
希望这会有所帮助。您是否正在收听OnOrientation更改?这可能会发生。@MarcosVasconcelos我正在收听我的主要活动中的配置更改。不过,问题已经解决了!
class ViewHolder{
TextView tv;
ViewHolder(View v){
tv = (TextView) v.findViewById(<textview_id>);
}
}
@Override
public void onBindViewHolder(MyAdapter.ViewHolder holder, int position) {
holder.tv.setTextSize(20);
holder.tv.setPadding(5,20,5,20);
holder.tv.setText(mDataSet.get(position));
}