2016-10-17 19 views
0

以下のコードを使用して、SQLからのハッシュマップでスピナーを設定しています。今度はゼロ位置にハードコードされた「選択」を追加したいが、失敗した。 resultListMachineClientID .add()を使用しましたが、値を追加することはできません。どうすればこれを達成できますか?あなたがそのプット・サーバーのデータの後ハッシュマップのスピナーでゼロの位置に項目を追加するにはどうすればよいですか?

hashstate.put(TAG_Name_machineClientName, "Select Value"); 

を追加し、その前に

ArrayList<HashMap<String, String>> resultListMachineClientID = new ArrayList<>(); 

class async_fillClientId extends AsyncTask<String, Void, String> { 

     @Override 
     protected void onPreExecute() { 
      super.onPreExecute(); 

      showDialog(); 
     } 

     @Override 
     protected String doInBackground(String... params) { 

      resultListMachineClientID.clear(); 
      try { 
       Connection con = connectionClass.CONN(); 
       if (con == null) { 

        getActivity().getParent().runOnUiThread(new Runnable() { 
         @Override 
         public void run() { 
          Toast.makeText(getActivity(), "please Check Your Internet Connection", Toast.LENGTH_LONG).show(); 
         } 
        }); 
       } else { 
        String query = "exec App_Combo_ClientDetail"; 
        ResultSet rs = dbHelp.executeRS(query); 
        try { 
         while (rs.next()) { 
          HashMap<String, String> hashstate = new HashMap<String, String>(); 
          hashstate.put(TAG_ID_machineClientId, rs.getString("nClientID")); 
          hashstate.put(TAG_Name_machineClientName, rs.getString("cClientName")); 
          resultListMachineClientID.add(hashstate); 
         } 
        } catch (SQLException e) { 
         e.printStackTrace(); 
        } 
       } 
      } catch (Exception e) { 
       e.printStackTrace(); 
      } 
      return resultClientID; 
     } 
     @Override 
     protected void onPostExecute(String result1) { 

      try { 

       // TODO Auto-generated method stub 
       adapterClientID = new SimpleAdapter(getActivity(), resultListMachineClientID, R.layout.activity_showspinner_client_id, new String[]{TAG_ID_machineClientId, TAG_Name_machineClientName}, new int[]{R.id.nSerialClientID, R.id.cCodeClientNAme}); 
       spnClientID.setAdapter(adapterClientID); 
       hideDialog(); 

       spnClientID.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 

        @Override 
        public void onItemSelected(AdapterView<?> parent, View view, 
               int pos, long id) { 
         // TODO Auto-generated method stub 

         TextView txtid1 = (TextView) parent.findViewById(R.id.nSerialClientID); 

         nClintID = txtid1.getText().toString(); 
        } 

        @Override 
        public void onNothingSelected(AdapterView<?> arg0) { 
         // TODO Auto-generated method stub 

        } 
       }); 

      } catch (Exception e) { 

      } 
      super.onPostExecute(result1); 

     } 
    } 
+0

を試すんでした。.. '.add resultListMachineClientID(新しいHashMap <"select"、null>) ' –

+0

これは私です私は表現の誤りを与えている。 –

+0

あなたは私を見せてもらえますか?あなたはどうでしたか? –

答えて

0

String query = "exec App_Combo_ClientDetail"; 
        ResultSet rs = dbHelp.executeRS(query); 
        try { 
         while (rs.next()) { 
          HashMap<String, String> hashstate = new HashMap<String, String>(); 
          hashstate.put(TAG_ID_machineClientId, rs.getString("nClientID")); 
          hashstate.put(TAG_Name_machineClientName, rs.getString("cClientName")); 
          resultListMachineClientID.add(hashstate); 
         } 
        } catch (SQLException e) { 
         e.printStackTrace(); 
        } 
+0

私はこれをしましたが、動作していません。 while(rs.next()){ HashMap hashstate = newハッシュマップ(); hashstate.put(TAG_ID_machineClientId、rs.getString( "nClientID")); hashstate.put(TAG_Name_machineClientName、rs.getString( "cClientName")); hashstate.put(TAG_Name_machineClientName、 "値の選択"); resultListMachineClientID.add(hashstate); –

+0

私にjsonの応答を与えてください - そしてあなたの要件は何ですか?私はします – chandrakant

+0

私の上記のコードは私の質問の魅力のように動作しています。私はちょうどハードコーディングされたスピナーで最初に "選択"を追加したいと思います。 –

0

これを試してみてください。..

@Override 
     protected String doInBackground(String... params) { 

      resultListMachineClientID.clear(); 
// add these lines 
       HashMap select= new HashMap(); 
       select.put("select","select"); 
       resultListMachineClientID .add(select); 
// 
+0

これを追加した後、最初はブランク値を示しています。 –

関連する問題