Android 是否为不同的活动使用相同的适配器和ViewHolder?

Android 是否为不同的活动使用相同的适配器和ViewHolder?,android,Android,我正在开发一个应用程序,可以显示不同的位置和天气信息。 我有一个MainActivity,它显示当前位置的信息,如果您搜索另一个,我想在另一个活动中显示与MainActivity格式完全相同的信息。问题是,我在MainActivity中有一个带有适配器和ViewHolder的RecyclerView。如果我使用完全相同的格式,第二个活动是否可以使用相同的适配器和ViewHolder? 我想在用户搜索某个地方时更新MainActivity,但我想保留MainActivity的信息。 以下是适配器和

我正在开发一个应用程序,可以显示不同的位置和天气信息。 我有一个MainActivity,它显示当前位置的信息,如果您搜索另一个,我想在另一个活动中显示与MainActivity格式完全相同的信息。问题是,我在MainActivity中有一个带有适配器和ViewHolder的RecyclerView。如果我使用完全相同的格式,第二个活动是否可以使用相同的适配器和ViewHolder? 我想在用户搜索某个地方时更新MainActivity,但我想保留MainActivity的信息。 以下是适配器和视图保持架的代码:

    public class WeatherAdapter extends RecyclerView.Adapter<WeatherReportViewHolder>{
        private ArrayList<DailyWeatherReport> mDailyWeatherReport;

        public WeatherAdapter(ArrayList<DailyWeatherReport> mDailyWeatherReport) {
            this.mDailyWeatherReport = mDailyWeatherReport;

        }

        @Override
        public void onBindViewHolder(WeatherReportViewHolder holder, int position) {
            position+=1;

            DailyWeatherReport report=mDailyWeatherReport.get(position);

            holder.updateUI(report);
            holder.updateDate(position);


        }

        @Override
        public int getItemCount() {
            return mDailyWeatherReport.size()-1;
        }

        @Override
        public WeatherReportViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
            View card= LayoutInflater.from(parent.getContext()).inflate(R.layout.card_weather,parent,false);
            return new WeatherReportViewHolder(card);
        }
    }

    public class WeatherReportViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{
           .....


        public WeatherReportViewHolder(View itemView) {
           .....

        }
        public void updateUI(DailyWeatherReport report){

           .....
        }

        public void updateDate(int i){

           .....
        }

    }
}
公共类WeatherAdapter扩展了RecyclerView.Adapter{
private ArrayList mDailyWeatherReport;
公共天气适配器(ArrayList mDailyWeatherReport){
this.mDailyWeatherReport=mDailyWeatherReport;
}
@凌驾
BindViewHolder上的公共无效(WeatherReportViewHolder,内部位置){
位置+=1;
DailyWeatherReport=mDailyWeatherReport.get(位置);
持有人。更新(报告);
持有人。更新日期(位置);
}
@凌驾
public int getItemCount(){
返回mDailyWeatherReport.size()-1;
}
@凌驾
public WeatherReportViewHolder onCreateViewHolder(视图组父级,int-viewType){
View card=LayoutInflater.from(parent.getContext()).flate(R.layout.card\u weather,parent,false);
返回新的WeatherReportViewHolder(卡);
}
}
公共类WeatherReportViewHolder扩展了RecyclerView.ViewHolder实现了View.OnClickListener{
.....
public WeatherReportViewHolder(查看项目视图){
.....
}
公共无效更新(每日天气报告){
.....
}
公共无效更新日期(int i){
.....
}
}
}

没问题。如果布局、视图ID等都匹配的话,你就不可能使用同一个适配器,因为你显然会创建一个新的实例,所以不会有任何问题!谢谢是的,你不会有任何问题,只要创建它的新实例,就像@gitter说的那样。@gitter新实例是什么意思?没问题。如果布局、视图ID等都匹配的话,你就不可能使用同一个适配器,因为你显然会创建一个新的实例,所以不会有任何问题!谢谢是的,你不会有任何问题,只要创建它的新实例,就像@gitter说的那样。@gitter你说的新实例是什么意思?