package com.silencedut.knowweather.weather.ui; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import com.silencedut.knowweather.R; import com.silencedut.knowweather.common.BaseFragment; import com.silencedut.knowweather.common.adapter.BaseRecyclerAdapter; import com.silencedut.knowweather.weather.ui.adapter.AqiData; import com.silencedut.knowweather.weather.ui.adapter.AqiViewHolder; import com.silencedut.knowweather.weather.ui.adapter.DailyWeatherData; import com.silencedut.knowweather.weather.ui.adapter.DailyWeatherHolder; import com.silencedut.knowweather.weather.ui.adapter.GuideData; import com.silencedut.knowweather.weather.ui.adapter.GuideHolder; import com.silencedut.knowweather.weather.ui.adapter.LifeGuideHolder; import com.silencedut.knowweather.weather.ui.adapter.LifeIndexData; import com.silencedut.knowweather.weather.ui.adapter.LifeIndexGuideData; import com.silencedut.knowweather.weather.ui.adapter.LifeIndexesHolder; import java.util.List; import butterknife.BindView; /** * Created by SilenceDut on 16/10/25. */ public class WeatherFragment extends BaseFragment { @BindView(R.id.recyclerView) RecyclerView mWeatherItemList; private BaseRecyclerAdapter mMoreInfoAdapter; public static WeatherFragment newInstance() { WeatherFragment weatherFragment; weatherFragment = new WeatherFragment(); return weatherFragment; } @Override public void initBeforeView() { } @Override public int getContentViewId() { return R.layout.common_recyclerview; } @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { return super.onCreateView(inflater, container, savedInstanceState); } @Override public void initViews() { LinearLayoutManager linearLayoutManager = new LinearLayoutManager(mActivity); mWeatherItemList.setLayoutManager(linearLayoutManager); mWeatherItemList.setBackgroundResource(R.color.dark_background); mMoreInfoAdapter = new BaseRecyclerAdapter(mActivity); } public void onMoreInfo(AqiData aqiData, List<DailyWeatherData> dailyForecastDatas, LifeIndexData lifeIndexData) { if (!isVisible() || !isAdded()) { return; } mMoreInfoAdapter.clear(); GuideData guideData = new GuideData(getString(R.string.future_weather)); mMoreInfoAdapter.registerHolder(GuideHolder.class, guideData); mMoreInfoAdapter.registerHolder(DailyWeatherHolder.class, dailyForecastDatas); guideData = new GuideData(getString(R.string.aqi_guide)); //guideData.setGuideIconId(R.mipmap.question); mMoreInfoAdapter.addData(guideData); mMoreInfoAdapter.registerHolder(AqiViewHolder.class, aqiData); LifeIndexGuideData lifeIndexGuideData = new LifeIndexGuideData(getString(R.string.lifeIndexes)); mMoreInfoAdapter.registerHolder(LifeGuideHolder.class, lifeIndexGuideData); mMoreInfoAdapter.registerHolder(LifeIndexesHolder.class, lifeIndexData); mWeatherItemList.setAdapter(mMoreInfoAdapter); } }