package org.rocko.demos.mvp.ui.activity; import android.app.Dialog; import android.app.ProgressDialog; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; import org.rocko.demos.mvp.R; import org.rocko.demos.mvp.model.entity.Weather; import org.rocko.demos.mvp.model.entity.WeatherInfo; import org.rocko.demos.mvp.presenter.WeatherPresenter; import org.rocko.demos.mvp.presenter.impl.WeatherPresenterImpl; import org.rocko.demos.mvp.ui.common.BaseActivity; import org.rocko.demos.mvp.ui.view.WeatherView; /** * 天气界面 */ public class WeatherActivity extends BaseActivity implements WeatherView, View.OnClickListener { private Dialog loadingDialog; private EditText cityNOInput; private TextView city; private TextView cityNO; private TextView temp; private TextView wd; private TextView ws; private TextView sd; private TextView wse; private TextView time; private TextView njd; private WeatherPresenter weatherPresenter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); init(); } private void init() { cityNOInput = findView(R.id.et_city_no); city = findView(R.id.tv_city); cityNO = findView(R.id.tv_city_no); temp = findView(R.id.tv_temp); wd = findView(R.id.tv_WD); ws = findView(R.id.tv_WS); sd = findView(R.id.tv_SD); wse = findView(R.id.tv_WSE); time = findView(R.id.tv_time); njd = findView(R.id.tv_njd); findView(R.id.btn_go).setOnClickListener(this); weatherPresenter = new WeatherPresenterImpl(this); //传入WeatherView loadingDialog = new ProgressDialog(this); loadingDialog.setTitle("加载天气中..."); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.btn_go: weatherPresenter.getWeather(cityNOInput.getText().toString().trim()); break; } } @Override public void showLoading() { loadingDialog.show(); } @Override public void hideLoading() { loadingDialog.dismiss(); } @Override public void showError() { //Do something Toast.makeText(getApplicationContext(), "error", Toast.LENGTH_SHORT).show(); } @Override public void setWeatherInfo(Weather weather) { WeatherInfo info = weather.getWeatherinfo(); city.setText(info.getCity()); cityNO.setText(info.getCityid()); temp.setText(info.getTemp()); wd.setText(info.getWD()); ws.setText(info.getWS()); sd.setText(info.getSD()); wse.setText(info.getWS()); time.setText(info.getTemp()); njd.setText(info.getNjd()); } }