/**
* Project Name:SecondMovieList
* File Name:WeatherActivity.java
* Package Name:com.benchone.secondmovielist
* Date:2015年11月30日下午4:54:11
* Copyright (c) 2015, benchone All Rights Reserved.
*
*/
package com.benchone.secondmovielist;
import java.io.UnsupportedEncodingException;
import com.benchone.common.ImageDownloader;
import com.benchone.database.DBHelp;
import com.lidroid.xutils.DbUtils;
import android.app.Activity;
import android.database.Cursor;
import android.database.DataSetObserver;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.SpinnerAdapter;
public class WeatherActivity extends Activity {
private static final String TAG = "benchone";
SQLiteDatabase db;
Spinner spin_province;
Spinner spin_city;
Spinner spin_county;
/* (non-Javadoc)
* @see android.app.Activity#onCreate(android.os.Bundle)
*/
@Override
protected void onCreate(Bundle savedInstanceState) {
initCity();
super.onCreate(savedInstanceState);
setContentView(R.layout.selcity);
initUI();
}
private void initCity() {
// 初始化,只需要调用一次
DBHelp.initManager(getApplication());
// 获取管理对象,因为数据库需要通过管理对象才能够获取
DBHelp mg = DBHelp.getManager();
// 通过管理对象获取数据库
db = mg.getDatabase("city.db");
Cursor cursor = db.rawQuery(" select * from t_city ", null);
Log.i(TAG, "cursor.getCount() === " + cursor.getCount());
}
private void initUI() {
spin_province = (Spinner) findViewById(R.id.spin_province);
spin_city = (Spinner) findViewById(R.id.spin_city);
spin_county = (Spinner) findViewById(R.id.spin_county);
spin_province.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
initSpinData(spin_city, " PROVCN = '" + spin_province.getSelectedItem().toString() + "'", "DISTRICTCN");
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
spin_city.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
initSpinData(spin_county, " DISTRICTCN = '" + spin_city.getSelectedItem().toString() + "'", "NAMECN");
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
spin_county.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
initSpinData(spin_province, " NATIONEN = 'china' ", "PROVCN");
}
private void initSpinData(Spinner spin, String where, String col) {
Cursor cursor = db.rawQuery(" select distinct " + col + " from t_city where " + where, null);
String[] mItems = new String[cursor.getCount()];
int i = 0;
while (cursor.moveToNext()) {
mItems[i] = cursor.getString(0);
i++;
}
// 建立Adapter并且绑定数据源
ArrayAdapter<String> _Adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, mItems);
//绑定 Adapter到控件
spin.setAdapter(_Adapter);
}
}