使用相同的适配器和ViewHolder进行不同的活动?

时间:2016-07-27 09:22:20

标签: android

我正在开发一个应用程序,显示有关位置和天气的不同信息。 我有一个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){

           .....
        }

    }
}

0 个答案:

没有答案