package com.brady.jlulife.Fragments; import android.content.Context; import android.content.SharedPreferences; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; import com.brady.jlulife.Activities.CJCXAuthActivity; import com.brady.jlulife.Activities.DrcomLoginActivity; import com.brady.jlulife.Activities.JLUNewsListActivity; import com.brady.jlulife.Activities.JWNewsListActivity; import com.brady.jlulife.Activities.LibrarySearchActivity; import com.brady.jlulife.Activities.ScoreListActivity; import com.brady.jlulife.Activities.SettingActivity; import com.brady.jlulife.Activities.SlidingMenuMainActivity; import com.brady.jlulife.Entities.Weather.WeatherData; import com.brady.jlulife.Models.Listener.OnObjectGetListener; import com.brady.jlulife.Models.UIMSModel; import com.brady.jlulife.Models.WeatherModel; import com.brady.jlulife.R; import com.brady.jlulife.Utils.ConstValue; import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu; /** * A placeholder fragment containing a simple view. */ public class MenuFragment extends BaseFragment { private ListView listView; private Context mContext; private MenuFragment mFragment; private LinearLayout mSettingLayout; private ImageView ivWeather; private TextView tvWeather; private TextView tvLowTem; private TextView tvHighTem; private SharedPreferences sf; public MenuFragment() { mFragment = this; } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_main, container, false); return view; } @Override public void onViewCreated(View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); mContext = getActivity().getApplicationContext(); sf = getActivity().getSharedPreferences(ConstValue.SHARED_WEATHER_INFO,Context.MODE_PRIVATE); initConments(view); initWeather(); syncWeather(); } private void closeMenu(boolean isShowAnim) { SlidingMenu menu = ((SlidingMenuMainActivity) getActivity()).getMenu(); if (isShowAnim != false && menu.isMenuShowing()) { menu.showContent(isShowAnim); } } private void initWeather(){ String weather = sf.getString("weather",""); String lowTemp = sf.getString("lowtemp",""); String highTemp = sf.getString("hightemp",""); tvWeather.setText(weather); tvLowTem.setText(lowTemp); tvHighTem.setText(highTemp); ivWeather.setImageDrawable(getResources().getDrawable(getWeatherIcon(weather))); } private void syncWeather() { WeatherModel.getInstance(mContext).getWeatherDetail(new OnObjectGetListener() { @Override public void onGetInfoSuccess(Object object) { WeatherData data = (WeatherData) object; tvWeather.setText(data.getWeather()); tvLowTem.setText(data.getL_tmp()); tvHighTem.setText(data.getH_tmp()); ivWeather.setImageDrawable(getResources().getDrawable(getWeatherIcon(data.getWeather()))); SharedPreferences.Editor editor = sf.edit(); editor.putString("weather", data.getWeather()); editor.putString("lowtemp", data.getL_tmp()); editor.putString("hightemp", data.getH_tmp()); editor.commit(); } @Override public void onGetInfoFail() { } }); } private void initConments(View view){ listView = (ListView) view.findViewById(R.id.lvfunction); mSettingLayout = (LinearLayout) view.findViewById(R.id.setting_layout); ivWeather = (ImageView) view.findViewById(R.id.image_weather); tvWeather = (TextView) view.findViewById(R.id.tv_weather); tvLowTem = (TextView) view.findViewById(R.id.tv_low_tem); tvHighTem = (TextView) view.findViewById(R.id.tv_high_tem); mSettingLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { startNewActivity(SettingActivity.class); } }); String[] strings = new String[]{ "我的课表", "校园网登陆", "校内通知", "教务通知", "成绩查询", "图书馆" }; listView.setAdapter(new ArrayAdapter<String>(mContext, R.layout.function_item, strings)); listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { switch (position) { case 0: { closeMenu(true); break; } case 1: { startNewActivity(DrcomLoginActivity.class); closeMenu(false); break; } case 2: { startNewActivity(JLUNewsListActivity.class); closeMenu(false); break; } case 3: { startNewActivity(JWNewsListActivity.class); closeMenu(false); break; } case 4: { if (UIMSModel.getInstance(mContext).isLoginIn()) { startNewActivity(ScoreListActivity.class); } else { startNewActivity(CJCXAuthActivity.class); } closeMenu(false); break; } case 5: { startNewActivity(LibrarySearchActivity.class); closeMenu(false); break; } default: { Toast.makeText(mContext, "The function is commit soon", Toast.LENGTH_SHORT).show(); } } } }); } private int getWeatherIcon(String weather){ if(weather.contains("晴")) { return R.mipmap.sunny; }else if(weather.contains("雪")) { return R.mipmap.snow; }else if(weather.contains("雷")) { return R.mipmap.thunderstorms; }else if(weather.contains("雨")) { return R.mipmap.slight_drizzle; }else if(weather.contains("多云")) { return R.mipmap.mostly_cloudy; }else if(weather.contains("阴")) { return R.mipmap.cloudy; }else if(weather.contains("雾")) { return R.mipmap.haze; }else { return R.mipmap.sunny; } } }