热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

androidsqlite绑定城市三级联(动态)包含mysql数据源的sql语句

packagecom.icq.spinnercity;importjava.util.ArrayList;importjava.util.List;importandroid.app.Acti
package com.icq.spinnercity;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.Spinner;
import android.widget.TextView;

public class MainActivity extends Activity {

private DBManager dbm;
private SQLiteDatabase db;
private Spinner province_spinner = null;
private Spinner city_spinner = null;
private Spinner country_spinner = null;
private String provinceId = null;
private String cityId = null;
private String districtId = null;
private TextView tv_showselect;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
province_spinner = (Spinner) findViewById(R.id.province_spinner);
city_spinner = (Spinner) findViewById(R.id.city_spinner);
country_spinner = (Spinner) findViewById(R.id.country_spinner);
tv_showselect = (TextView) findViewById(R.id.tv_showselect);
province_spinner.setPrompt("请选择省份");
city_spinner.setPrompt("请选择城市");
country_spinner.setPrompt("请选择地区");

initProvince();
}

public void initProvince() {
dbm = new DBManager(this);
dbm.openDatabase();
db = dbm.getDatabase();
List list = new ArrayList();
try {
String sql = "select * from fs_province";
Cursor cursor = db.rawQuery(sql, null);
cursor.moveToFirst();
for (int i = 0; i String code = cursor.getString(cursor
.getColumnIndex("ProvinceID"));
String name = cursor.getString(cursor
.getColumnIndex("ProvinceName"));
SpinnerItem myListItem = new SpinnerItem();
myListItem.setName(name);
myListItem.setPcode(code);
list.add(myListItem);
cursor.moveToNext();
}
} catch (Exception e) {
e.printStackTrace();
}
dbm.closeDatabase();
db.close();

SpinnerAdapter myAdapter = new SpinnerAdapter(this, list);
province_spinner.setAdapter(myAdapter);
province_spinner
.setOnItemSelectedListener(new ProvinceOnSelectedListener());
}

public void initCity(String pcode) {
dbm = new DBManager(this);
dbm.openDatabase();
db = dbm.getDatabase();
List list = new ArrayList();

try {
String sql = "select * from fs_city where ProvinceID='" + pcode
+ "'";
Cursor cursor = db.rawQuery(sql, null);
cursor.moveToFirst();
for (int i = 0; i String code = cursor.getString(cursor.getColumnIndex("CityID"));
String name = cursor.getString(cursor
.getColumnIndex("CityName"));
SpinnerItem myListItem = new SpinnerItem();
myListItem.setName(name);
myListItem.setPcode(code);
list.add(myListItem);
cursor.moveToNext();
}

} catch (Exception e) {
e.printStackTrace();
}
dbm.closeDatabase();
db.close();

SpinnerAdapter myAdapter = new SpinnerAdapter(this, list);
city_spinner.setAdapter(myAdapter);
city_spinner
.setOnItemSelectedListener(new CityOnSelectedListener());
}

public void initCountry(String pcode) {
dbm = new DBManager(this);
dbm.openDatabase();
db = dbm.getDatabase();
List list = new ArrayList();

try {
String sql = "select * from fs_district where CityID='" + pcode
+ "'";
Cursor cursor = db.rawQuery(sql, null);
cursor.moveToFirst();
for (int i = 0; i String code = cursor.getString(cursor
.getColumnIndex("DistrictID"));
String name = cursor.getString(cursor
.getColumnIndex("DistrictName"));
SpinnerItem myListItem = new SpinnerItem();
myListItem.setName(name);
myListItem.setPcode(code);
list.add(myListItem);
cursor.moveToNext();
}

} catch (Exception e) {
e.printStackTrace();
}
dbm.closeDatabase();
db.close();

SpinnerAdapter myAdapter = new SpinnerAdapter(this, list);
country_spinner.setAdapter(myAdapter);
country_spinner
.setOnItemSelectedListener(new DistrictOnSelectedListener());
}

class ProvinceOnSelectedListener implements OnItemSelectedListener {

public void onItemSelected(AdapterView adapterView, View view,
int position, long id) {
provinceId = ((SpinnerItem) adapterView.getItemAtPosition(position))
.getPcode();
String pcode = ((SpinnerItem) adapterView
.getItemAtPosition(position)).getPcode();

initCity(pcode);
initCountry(pcode);
}

public void onNothingSelected(AdapterView adapterView) {
}
}

class CityOnSelectedListener implements OnItemSelectedListener {

public void onItemSelected(AdapterView adapterView, View view,
int position, long id) {
cityId = ((SpinnerItem) adapterView.getItemAtPosition(position))
.getPcode();
String pcode = ((SpinnerItem) adapterView
.getItemAtPosition(position)).getPcode();

initCountry(pcode);
}

public void onNothingSelected(AdapterView adapterView) {
}
}

class DistrictOnSelectedListener implements OnItemSelectedListener {

public void onItemSelected(AdapterView adapterView, View view,
int position, long id) {
districtId = ((SpinnerItem) adapterView.getItemAtPosition(position))
.getPcode();
// 这里我是现实所选择的id,您可以现实汉字
tv_showselect.setText("省份Id=" + provinceId + ",城市Id=" + cityId
+ ",地区Id:" + districtId);
//其他请求的操作

}

public void onNothingSelected(AdapterView adapterView) {
}
}

}


无图无真相,上图如下:

资源下载地址:http://download.csdn.net/detail/shi508181017/6908631

有什么不对请大家多多指教,有什么不对会问题可以联系我QQ:508181017





推荐阅读
  • 这个报错出现在userDao里面,sessionfactory没有注入。解决办法:spring整合Hibernate使用test测试时要把spring.xml和spring-hib ... [详细]
  • 本文探讨了如何利用 Application 对象在 PHP 应用程序中共享数据,特别是在多用户环境中保持数据的一致性和安全性。文章还介绍了 Application 对象的基本结构、方法和事件,并提供了实际应用示例。 ... [详细]
  • Oracle中打开10046Trace的各种方法10046trace的跟踪等级10046是一个Oracle的内部事件(event),通过设置这个事件可以得到Oracl ... [详细]
  • 本文介绍了如何在Java中使用`JCheckBoxMenuItem.setMnemonic()`方法,并提供了多个实际应用的代码示例。 ... [详细]
  • Linux环境下的PHP7安装与配置指南
    本文详细介绍了如何在Linux操作系统中安装和配置PHP7,包括检查当前PHP版本、升级PHP以及配置MySQL支持等步骤,适合后端开发者参考。 ... [详细]
  • 本文探讨了Flutter和Angular这两个流行框架的主要区别,包括它们的设计理念、适用场景及技术实现。 ... [详细]
  • 使用EF Core在.Net Core控制台应用中操作SQLite数据库
    本文介绍如何利用Visual Studio 2019和Windows 10环境,通过Entity Framework Core(EF Core)实现对SQLite数据库的读写操作。项目源代码可从百度网盘下载。 ... [详细]
  • 深入解析 Android 中的 ActivityGroup 实现
    本文详细探讨了如何在 Android 应用中使用 ActivityGroup 来实现类似微博客户端主界面的效果,并分析了 TabActivity 的局限性,推荐使用更为灵活的 ActivityGroup 方案。 ... [详细]
  • 本文探讨了在JavaScript中如何有效地从服务器控件DropDownList中获取绑定的ID值,而非仅仅是显示的文本值。这对于需要根据用户选择动态处理数据的应用场景非常有用。 ... [详细]
  • 解决MySQL Administrator 登录失败问题
    本文提供了解决在使用MySQL Administrator时遇到的登录错误的方法,包括启动变量和服务部分禁用的问题。同时,文章还介绍了通过安全配置模式来解决问题的具体步骤。 ... [详细]
  • 深入解析Android UI布局:LinearLayout与AbsoluteLayout
    本文探讨了Android开发中常用的两种布局方式——LinearLayout和AbsoluteLayout,通过实例分析它们的特点及应用场景。 ... [详细]
  • 本文总结了几个常用的Android开发技巧,包括检测设备上是否安装特定应用、获取应用的版本名称、设置状态栏透明以及如何从一个应用跳转至另一个应用的方法。 ... [详细]
  • 本文提供了一个Android应用中用于抓取网页信息并下载图片的示例代码。通过该代码,开发者可以轻松实现从指定URL获取网页内容及其中的图片资源。 ... [详细]
  • 本文详细对比了MySQL中的InnoDB与MyISAM两种存储引擎,从性能、事务处理能力、锁机制等多个维度进行了深入探讨,旨在为数据库设计者提供选择依据。 ... [详细]
  • 深入理解Java类加载机制及安全防护
    本文探讨了Java类加载的过程,包括加载、验证、准备、解析和初始化五个阶段,并详细解释了每个阶段的具体操作和意义。此外,文章还讨论了Java如何通过双亲委派模型来保障核心API的安全性,以及在特定情况下如何打破这一机制。 ... [详细]
author-avatar
袁冠和堂
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有