您的位置:首页 > 数据库

关于读取数据库绑定Spinner显示问题

2014-04-09 16:47 281 查看
我写一个程序,遇到个问题。我读取数据库信息,绑定到Spinner中,代码如下:

//加载数据
private void  LoadOvenList()
{
spOvenList=(Spinner)findViewById(R.id.spOvenList);
sql=" SELECT  OVEN_NAME,OVEN_CODE  FROM OVEN_DICT ";
Map<Integer,List> data = pDB.getProvince(sql);//得到数据库数据
pData=data.get(1);
pList=data.get(0);
ArrayAdapter provinceAdapter = new ArrayAdapter(this,android.R.layout.simple_spinner_item,pList);
adaOvenList = ArrayAdapter.createFromResource(RowActivity.this, R.array.dining_dict, android.R.layout.simple_spinner_item);
adaOvenList.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
//spOvenList.setAdapter(adaOvenList);
spOvenList.setAdapter(provinceAdapter);
spOvenList.setOnItemSelectedListener(new SpinnerXMLSelectedListener());
spOvenList.setVisibility(View.VISIBLE);
}
//获取数据集
public static Map<Integer,List> getProvince(String sql){
_db=new CommonHelper(context);
Cursor c = null;
Map<Integer,List> provinceData = new HashMap<Integer,List>();
List provinceList = null;
try{
if(_db.CheckDB()==false)
{
_db.CopyDB();
}
msg=_db.OpenDB();
c = _db.GetData(sql);
List provinceList1 = new ArrayList();
List provinceList2 = new ArrayList();
while(c.moveToNext()){if(_db.CheckDB()==false)
{
_db.CopyDB();
}
int isOvenCode=c.getColumnIndex("OVEN_CODE");
String ovenCode=c.getString(isOvenCode);
int isOvenName=c.getColumnIndex("OVEN_NAME");
String oveName=c.getString(isOvenName);
Map provinceMap = new HashMap();
provinceMap.put( ovenCode,oveName);
provinceList1.add(provinceMap);
provinceList2.add(c.getString(1));
}
provinceData.put(0, provinceList1);
//provinceData.put(1, provinceList2);
}catch(Exception e){
e.printStackTrace();
}finally{
if(c!=null){
c.close();
}
if(_db!=null){
_db.CloseDB();
}
}
return provinceData;
}
//布局代码
<LinearLayout xmlns:android="貌似不支持链接,以此代替。。。"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
androidrientation="vertical" >
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="38dp"
android:background="@drawable/title_bg" >
<ImageButton
android:id="@+id/btnBack"
android:layout_width="70dp"
android:layout_height="wrap_content"
android:src="@drawable/btn_back" />
<Spinner android:id="@+id/spOvenList"
android:layout_width="150dp"
android:scrollbarSize="10dp"
style="@style/spinner_style"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"/>
<ImageButton
android:id="@+id/btnSave"
android:layout_width="70dp"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:clickable="true"
android:src="@drawable/btn_save"
/>

</RelativeLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
androidrientation="horizontal" >
<TextView android:id="@+id/menuImg"
android:layout_height="wrap_content"
android:layout_width="90dp"
android:text="@+string/menuImg"
android:textSize="20sp"
android:textStyle="bold"/>
<TextView android:id="@+id/menuName"
android:layout_height="wrap_content"
android:layout_width="90dp"
android:text="@+string/menuTitle"
android:textSize="20sp"
android:textStyle="bold"/>
<TextView android:id="@+id/price"
android:layout_height="wrap_content"
android:layout_width="80dp"
android:textSize="20sp"
android:textStyle="bold"
android:text="@+string/priceTitle"/>
<TextView android:id="@+id/check"
android:layout_height="wrap_content"
android:layout_width="80dp"
android:text="@+string/che"
android:textSize="20sp"
android:textStyle="bold"/>
</LinearLayout>
<ListView android:id="@id/android:list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bg_line"
android:scrollingCache="false"
android:divider="@drawable/bg_line"/>
<TextView android:id="@id/android:empty"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ffff66"
android:text="No Data!"/>
</LinearLayout>
数据是显示出来了,但不是我想要的,我想只显示类别的名称,而前面的编码绑定到对应的名称,而且后面加上单选按钮。不知道我的数据哪里出了问题,请指点!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐