상대 레이아웃으로 구성된 간단한 리사이클 뷰를 사용했습니다. OnBindViewHolder();
이 목록은 세로 모드에서는 잘 작동하는 것처럼 보이지만 가로로 전환하여 스크롤을 시도하면 textviews가 겹쳐 이상한 모양이 생깁니다. 세로 모드에서 가로 모드 에서레이아웃 변경시 RecyclerView가 제대로 작동하지 않습니다.
@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();
을하고 매니페스트에 설정 변경을 추가하는 시도
@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);
}
위 아래에있는 내 어댑터이고 내가 부르고있는 활동이다. 아무 소용이 없습니다.
onOrientationChanged 수신 여부 이것은 일어날 수 있습니다. –
@MarcosVasconcelos 나는 나의 주요 활동에서 설정 변경을 듣고 있었다. 신경 쓰지 마라, 문제는 해결되었다! – Yashovardhan