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());
}
}