如何让ViewHolder监听屏幕方向的变化?
问题描述:
当屏幕方向改变时,我想通知RecyclerView
的所有ViewHolder
。我可以通知屏幕上的ViewHolder
。但对于那些不在屏幕上的人,我不知道如何通知他们。请帮忙。如何让ViewHolder监听屏幕方向的变化?
答
添加到您的活动获得方位改变:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {
//PORTRAIT MODE
adapter.screenChanged("PORTRAIT");
} else if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
//LANDSCAPE MODE
adapter.screenChanged("LANDSCAPE");
}
}
添加到您的适配器
public void screenChanged(String orientation){
if (orientation.equals("PORTRAIT")){
//code
}else{
//code
}
}
的主要问题是:如何通知所有'ViewHolder'包括的是那些在屏幕之外 – TOP
你的意思是出于屏幕 –
我的意思是,例如:我们有6个ViewHolder对象。其中4个在屏幕上(我们在屏幕上有4个项目)。并且其中2个不显示在屏幕 – TOP