Spinner+sqlite 三级联动

品牌表:
CREATE TABLE [pinpai] (
  [ID] INT(4),
  [NAME] nvarchar,
  [ZM] nchar,
  [NamePY] BOOLEAN(1));



insert into [pinpai] values(1, '奥迪', 'A', 0);
insert into [pinpai] values(2, '宝马', 'B', 0);
insert into [pinpai] values(3, '北京', 'B', 0);
insert into [pinpai] values(4, '奔驰', 'B', 0);

。。。。。

车系表:

CREATE TABLE [chexi] (
  [id] INT(4),
  [ppid] INT(4),
  [cxname] nvarchar(50),
  [ParentID] INT(4),
  [px] INT(4));


insert into [chexi] values(1, 1, '==奥迪==', 0, 1);
insert into [chexi] values(2, 1, '奥迪A6L', 1, 2);
insert into [chexi] values(3, 1, '奥迪A4L', 1, 3);
insert into [chexi] values(4, 1, '奥迪Q5', 1, 4);
insert into [chexi] values(5, 2, '==华晨宝马==', 0, 5);
insert into [chexi] values(6, 2, '宝马3系', 1, 6);
insert into [chexi] values(7, 2, '宝马5系', 1, 7);
insert into [chexi] values(8, 3, '==北汽制造==', 0, 8);
insert into [chexi] values(9, 3, '角斗士', 1, 9);
insert into [chexi] values(10, 3, '京城海狮', 1, 10);
insert into [chexi] values(11, 3, '路霸', 1, 11);
insert into [chexi] values(12, 3, '骑士', 1, 12);
insert into [chexi] values(13, 3, '勇士', 1, 13);
insert into [chexi] values(14, 3, '战旗', 1, 14);

。。。。。

车型表:
CREATE TABLE [chexing] (
  [ID] INT(4),
  [ppid] INT(4),
  [chexiid] INT(4),
  [cxname] nvarchar(50),
  [year] nchar,
  [jg] money);


insert into [chexing] values(1, 1, 2, '新A6L 2.0 TFSI AT', '2009', 39.8);
insert into [chexing] values(2, 1, 2, '新A6L 2.0 TFSI MT', '2009', 34.82);
insert into [chexing] values(3, 1, 2, '新A6L 2.4 AT/MT', '2009', 42.45);
insert into [chexing] values(4, 1, 2, '新A6L 2.8 FSI AT/MT', '2009', 61.82);
insert into [chexing] values(5, 1, 2, '新A6L 3.0 TFSI AT/MT', '2009', 69.6);
insert into [chexing] values(6, 1, 2, '新A6L 2.0 TFSI AT', '2010', 39.99);
insert into [chexing] values(7, 1, 2, '新A6L 2.0 TFSI MT', '2010', 35.5);
insert into [chexing] values(8, 1, 2, '新A6L 2.4 AT/MT', '2010', 43.15);
insert into [chexing] values(9, 1, 2, '新A6L 2.7 TDI AT/MT', '2010', 48.88);
insert into [chexing] values(10, 1, 2, '新A6L 2.8 FSI AT/MT', '2010', 53.77);
insert into [chexing] values(11, 1, 2, '新A6L 3.0 TFSI quattro AT/MT', '2010', 69.6);
insert into [chexing] values(12, 1, 3, 'A4L 2.0 TFSI', '2009', 38.86);
insert into [chexing] values(13, 1, 3, 'A4L 3.2 FSI quattro', '2009', 53.88);
insert into [chexing] values(14, 1, 3, 'A4L 1.8 TFSI', '2010', 29.1);
insert into [chexing] values(15, 1, 3, 'A4L 2.0 TFSI', '2010', 32.99);
insert into [chexing] values(16, 1, 3, 'A4L 3.2 FSI quattro', '2010', 57.81);
insert into [chexing] values(17, 1, 4, 'Q5 2.0T FSI', '2010', 0);
insert into [chexing] values(18, 1, 4, 'Q5 3.2 FSI', '2010', 0);
insert into [chexing] values(19, 2, 6, '318i 2.0 AT/MT', '2009', 30.6);
insert into [chexing] values(20, 2, 6, '320i 2.0 AT/MT', '2009', 37.5);
insert into [chexing] values(21, 2, 6, '325i 2.5 AT/MT', '2009', 44.2);
insert into [chexing] values(22, 2, 6, '318i 2.0 AT/MT', '2010', 30.6);
insert into [chexing] values(23, 2, 6, '320i 2.0 AT/MT', '2010', 37.5);
insert into [chexing] values(24, 2, 6, '325i 2.5 AT/MT', '2010', 44.2);
insert into [chexing] values(25, 2, 7, '520Li', '2010', 42.36);
insert into [chexing] values(26, 2, 7, '523Li', '2010', 43.36);
insert into [chexing] values(27, 2, 7, '530Li', '2010', 68.86);

。。。。

定义查询语句
public static final String PINPAISQL="select id as _id,zm||'-'|| NAME as ppname  from pinpai where namepy=? order by zm";

public static final String CHEXISQL="select id as _id,cxname  from chexi where ppid=?  order by px";

public static final String CHEXINGSQL="select id as _id,cxname||'['||[year]||']'||'$'||jg as mingcheng from chexing where chexiid=?  order by [year],cxname";


点击按钮
scarButton=(Button)findViewById(R.id.widget622);
scarButton.setOnClickListener(new sCarButtonListener());

单击事件
private class sCarButtonListener implements android.view.View.OnClickListener {


public void onClick(View v) {



showDialog_SCar();



}



}

弹出对话框

private void showDialog_SCar() {  
  LayoutInflater inflater = LayoutInflater.from(this);  

        final View textEntryView = inflater.inflate(  

                R.layout.scar, null);  


pinpaiSpinner=(Spinner)textEntryView.findViewById(R.id.widget36);
chexiSpinner=(Spinner)textEntryView.findViewById(R.id.widget39);
chexingSpinner=(Spinner)textEntryView.findViewById(R.id.widget42);


pinpaiSpinner.setAdapter(Comm.GetDataBySQL(this, Comm.PINPAISQL, new String[] {"0"}, new String[] {"ppname"}));
pinpaiSpinner.setPrompt("请选择");

//品牌选择事件
pinpaiSpinner.setOnItemSelectedListener(new  Spinner.OnItemSelectedListener(){  
public   void  onItemSelected(AdapterView<?> arg0, View arg1,  int  arg2,  long  arg3) {  

               

            
//根据品牌id--arg3 绑定车系

   
CheXiAdapter=Comm.GetDataBySQL(ActDingSun.this, Comm.CHEXISQL, new String[] {arg3+""}, new String[] {"cxname"});

   
chexiSpinner.setAdapter(CheXiAdapter);

   
chexiSpinner.setPrompt("请选择");

   


                /* 将mySpinner 显示*/   

                arg0.setVisibility(View.VISIBLE);  

            }  

            public   void  onNothingSelected(AdapterView<?> arg0) {  

               

            }  

        });  

        
//选择车系事件
chexiSpinner.setOnItemSelectedListener(new  Spinner.OnItemSelectedListener(){  

            public   void  onItemSelected(AdapterView<?> arg0, View arg1,  int  arg2,  long  arg3) {  

               

            
//根据车系id 绑定车型


   
CheXingAdapter=Comm.GetDataBySQL(ActDingSun.this, Comm.CHEXINGSQL, new String[] {arg3+""}, new String[] {"mingcheng"});

   
chexingSpinner.setAdapter(CheXingAdapter);

   
chexingSpinner.setPrompt("请选择");

   
//chexiSpinner.setSelection(0, true);


                /* 将mySpinner 显示*/   

                arg0.setVisibility(View.VISIBLE);  

            }  

            public   void  onNothingSelected(AdapterView<?> arg0) {  

               

            }  

        });  

        
        final AlertDialog.Builder builder = new AlertDialog.Builder(this);  
        builder.setCancelable(false);  
        builder.setIcon(R.drawable.icon);  
        builder.setTitle("选择车型");  
        builder.setView(textEntryView);  
        builder.setPositiveButton("确认",  
                new DialogInterface.OnClickListener() {  
                    public void onClick(DialogInterface dialog, int whichButton) {  

                     

                    }  

                });  

        builder.setNegativeButton("取消",  
                new DialogInterface.OnClickListener() {  
                    public void onClick(DialogInterface dialog, int whichButton) {  

                    }  

                });  

        builder.show();  
}

//返回SimpleCursorAdapter 填充spinner
public static SimpleCursorAdapter GetDataBySQL(Context context,String sqlString,String [] args,String [] argsc){

    SimpleCursorAdapter scaCategories=null;
    DatabaseHelper dHelper=new DatabaseHelper(context);
    SQLiteDatabase db= dHelper.getReadableDatabase();
    Cursor msCur= db.rawQuery(sqlString, args);
   if (msCur.getCount() != 0) {

   scaCategories = new SimpleCursorAdapter(context,
   android.R.layout.simple_spinner_item,
   msCur,
   argsc,
   new int[]{android.R.id.text1});
   scaCategories.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
   }
    return scaCategories;

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值