android开发中,利用 Spinner 从数据库中读取数据并实现2级互动时,在 Map<String,Integer> data = (Map)shopData.get(position);
出现 shopData cannot be resolved。
我的程序代码为
public class BeginActivity extends ListActivity{
private SQLiteDatabase database;
Spinner spinnershop,spinnershelf;
Button begin_scan;
TextView selectshop,selectshelf;
private Integer shopId, shelfId;
private ArrayAdapter<CharSequence> shop_adapter;
private ArrayAdapter<CharSequence> shelf_adapter;
private String strshop, stshelf;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_scan);
spinnershop=(Spinner)findViewById(R.id.spinnershop);
spinnershelf=(Spinner)findViewById(R.id.spinnershelf);
begin_scan=(Button)findViewById(R.id.begin_scan);
selectshop=(TextView)findViewById(R.id.TextView03);
selectshelf=(TextView)findViewById(R.id.TextView04);
this.setTitle("盘点主界面");
Map<Integer,List> data = ShopDB.getShop();//得到数据库数据
//从门店货架号表中查找对应门店下的货架号
List shopList = data.get(1);
List shopData = data.get(0);
ArrayAdapter shop_adapter = new ArrayAdapter(BeginActivity.this,android.R.layout.simple_spinner_item,shopList);
shop_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); // 样式
spinnershop.setAdapter(shop_adapter);
spinnershop.setOnItemSelectedListener(itemSelectedListener);
}
// 选择门店联动 对应货架号
private OnItemSelectedListener itemSelectedListener = new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
Spinner spShop = (Spinner) parent;
String selShop = (String) spShop.getItemAtPosition(position);
Map<String,Integer> data = (Map)shopData.get(position);//根据所选择的门店得到对应的id 然后得到货架号
int pid = data.get(selShop);//得到门店的id
List shelfList = ShopDB.getCityByPid(pid);
shelf_adapter = new ArrayAdapter(BeginActivity.this,android.R.layout.simple_spinner_item,shelfList);
shelf_adapter
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnershelf.setAdapter(shelf_adapter);
spinnershelf.setOnItemSelectedListener(citySelectedListener); }
@Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
}
};
String selectedShop = null;
private OnItemSelectedListener citySelectedListener = new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
Spinner spShelf = (Spinner) parent;
selectedShop = (String) spShelf.getItemAtPosition(position);
} @Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
}
};
}android开发数据库Spinner二级联动读取数据库内容到spinner
出现 shopData cannot be resolved。
我的程序代码为
public class BeginActivity extends ListActivity{
private SQLiteDatabase database;
Spinner spinnershop,spinnershelf;
Button begin_scan;
TextView selectshop,selectshelf;
private Integer shopId, shelfId;
private ArrayAdapter<CharSequence> shop_adapter;
private ArrayAdapter<CharSequence> shelf_adapter;
private String strshop, stshelf;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_scan);
spinnershop=(Spinner)findViewById(R.id.spinnershop);
spinnershelf=(Spinner)findViewById(R.id.spinnershelf);
begin_scan=(Button)findViewById(R.id.begin_scan);
selectshop=(TextView)findViewById(R.id.TextView03);
selectshelf=(TextView)findViewById(R.id.TextView04);
this.setTitle("盘点主界面");
Map<Integer,List> data = ShopDB.getShop();//得到数据库数据
//从门店货架号表中查找对应门店下的货架号
List shopList = data.get(1);
List shopData = data.get(0);
ArrayAdapter shop_adapter = new ArrayAdapter(BeginActivity.this,android.R.layout.simple_spinner_item,shopList);
shop_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); // 样式
spinnershop.setAdapter(shop_adapter);
spinnershop.setOnItemSelectedListener(itemSelectedListener);
}
// 选择门店联动 对应货架号
private OnItemSelectedListener itemSelectedListener = new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
Spinner spShop = (Spinner) parent;
String selShop = (String) spShop.getItemAtPosition(position);
Map<String,Integer> data = (Map)shopData.get(position);//根据所选择的门店得到对应的id 然后得到货架号
int pid = data.get(selShop);//得到门店的id
List shelfList = ShopDB.getCityByPid(pid);
shelf_adapter = new ArrayAdapter(BeginActivity.this,android.R.layout.simple_spinner_item,shelfList);
shelf_adapter
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnershelf.setAdapter(shelf_adapter);
spinnershelf.setOnItemSelectedListener(citySelectedListener); }
@Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
}
};
String selectedShop = null;
private OnItemSelectedListener citySelectedListener = new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
Spinner spShelf = (Spinner) parent;
selectedShop = (String) spShelf.getItemAtPosition(position);
} @Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
}
};
}android开发数据库Spinner二级联动读取数据库内容到spinner
解决方案 »
- 求解类似【地图气泡/地图标记】如何实现,不用google api的
- android中播放视频 使用getNativeSurface FindClass 出错
- 开发的输入法在模拟器上调试能用,在真机上不能,怎么回事
- Android的前景怎么样
- android的便携式wifi
- 有没有做Android海外项目的?要注意什么吗?用国外开源代码又要注意什么吗?
- android中导入的项目报错 clear 没用 android Tool 也没用
- 菜鸟求教android2.3源码的Phone模块
- 求大神解答,困扰已久:Android 调用相机返回的data空值问题
- 使用android-support-v4.jar出现的问题
- android开发地图求助
- 小白面试求助,面试java,结果让我写安卓的人员管理系统,要能增删查改,求思路
把shopData的定义放到方法外面吧。