2016-10-04 6 views
0

以下は、私がsqliteからspinnerの状態を取り込んでいる私のコードです。完璧に動作しています。さて、私は最初の位置にハードコードされた "Select State"を追加したいと思っています。どうすればこれを達成できますか?スピナーの最初の位置にデフォルト値を設定する方法は?

try { 
      ArrayList<String> state_array = new ArrayList<String>(); 

      Cursor cursor = db.rawQuery("SELECT nSerialNo as _id,cCodeName FROM CodeMaster where nCtgId = 6", null); 


      if (cursor.moveToFirst()) { 
       do { 
        //assing values 
        String stateID = cursor.getString(0); 
        String stateName = cursor.getString(1); 
        stateData = stateName; 
        state_array.add(stateData); 


       } while (cursor.moveToNext()); 
      } 

      ArrayAdapter my_Adapter = new ArrayAdapter(getActivity(), android.R.layout.simple_list_item_1, state_array); 
      spnState.setAdapter(my_Adapter); 
      cursor.close(); 
      spnState.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
       @Override 
       public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 

        state = spnState.getSelectedItem().toString(); 

        Cursor cursor = db.rawQuery("SELECT nSerialNo FROM CodeMaster where cCodeName = '" + state + "'", null); 

        if (cursor.moveToFirst()) { 
         do { 
          //assing values 
          stateCodeId = cursor.getString(0); 

         } while (cursor.moveToNext()); 
        } 
        cursor.close(); 

       } 

       @Override 
       public void onNothingSelected(AdapterView<?> parent) { 

       } 


      }); 
     } catch (Exception e) { 

      e.printStackTrace(); 

     } 

答えて

1

このコードを試してください。

try { 
      ArrayList<String> state_array = new ArrayList<String>(); 
      state_array.add("Select State"); 

      Cursor cursor = db.rawQuery("SELECT nSerialNo as _id,cCodeName FROM CodeMaster where nCtgId = 6", null); 


      if (cursor.moveToFirst()) { 
       do { 
        //assing values 
        String stateID = cursor.getString(0); 
        String stateName = cursor.getString(1); 
        stateData = stateName; 
        state_array.add(stateData); 


       } while (cursor.moveToNext()); 
      } 
+0

こんにちは。ご回答有難うございます。私は上記のように複数のスピナーを投入しています。私は上記のコードから状態を選択すると、同じテーブルからsqliteから別のスピナーの都市を作成したい。私は上記のように同じことをしていますが、別のスピナーで都市を占有していません。どの州のハードコードされた身分証明書を渡すと、スピナーの都市のリストが私に与えられます。それは、私が都道府県を選択しているときに私の街のスピナーが爽やかでないことを意味しますどうすればこれを達成できますか? –

+0

broはhttp://pastebin.com/gGsp2JDB –

+0

のリンクで次の条件を使用します。Thanks brahmy –

0

state_array.add(0、 "国家の選択"); ArrayAdapter my_Adapter = new ArrayAdapter(getActivity()、android.R.layout.simple_list_item_1、state_array); spnState.setAdapter(my_Adapter); cursor.close();

関連する問題