Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/222.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java RecyclerView在布局更改时工作不正常_Java_Android_Xml_Android Recyclerview - Fatal编程技术网

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));
}