2017-12-26 22 views
6

最初のスピナー値を「選択してください」と設定してからサーバ のデータを表示する *は別の配列リストを作成し、値どのように私はこれを達成することができ ...と 組み合わせこれら2スピナーに設定し、「あなたの選択を選択する」(????カーソルを使用して)...私を助けてくださいスピナーデータがサーバーから来たときにスピナーに最初の値を追加する

Spinner spinner; 
    private JSONArray result; 
    ArrayList<String> allNames = new ArrayList<String>(); 
spinner.setPrompt("...Select the Vehicle Number..."); 

spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() 

      { 
      @Override 
      public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 

       String vno = spinner.getSelectedItem().toString(); 
      } 

スピナーデータを取得するための方法

JSONArray array = jsonObject.getJSONArray("Spinner value"); 
       for (int i = 0; i < array.length(); i++) { 
        JSONObject job = array.getJSONObject(i); 
        String name = job.getString("spinner_data"); 
        allNames.add(name); 

       } 

       ArrayAdapter<String> dataAdapter = new ArrayAdapter<String> 
         (MainActivity.this, android.R.layout.simple_spinner_item, allNames); 


       spinner.setAdapter(dataAdapter); 
+0

を取得して初期化しますか? – R2R

+1

allNames.add( "名前の選択"); forループの前にこの行を追加してください。 – Tara

答えて

1

文字列を追加- あなたの選択 -を配列リストの最初の要素として選択します。

String choice1 = "-Select Your Choice-"; 
allNames.add(choice1);  
JSONArray array = jsonObject.getJSONArray("Spinner value"); 
       for (int i = 0; i < array.length(); i++) { 
        JSONObject job = array.getJSONObject(i); 
        String name = job.getString("spinner_data"); 
        allNames.add(name); 

       } 

       ArrayAdapter<String> dataAdapter = new ArrayAdapter<String> 
         (MainActivity.this, android.R.layout.simple_spinner_item, allNames); 


       spinner.setAdapter(dataAdapter); 
1

それが自動的に選択オプションとして最初のインデックスを設定します、

allNames.add("select your choice") 

JSONArray array = jsonObject.getJSONArray("Spinner value"); 
for (int i = 0; i < array.length(); i++) { 
JSONObject job = array.getJSONObject(i); 
String name = job.getString("spinner_data"); 
allNames.add(name);} 

これを行うこの

JSONArray array = jsonObject.getJSONArray("Spinner value"); 
allNames.add("Select Your Choice");  
for (int i = 0; i < array.length(); i++) { 
    JSONObject job = array.getJSONObject(i); 
    String name = job.getString("spinner_data"); 
    allNames.add(name); 

} 

ArrayAdapter<String> dataAdapter = new ArrayAdapter<String> 
(MainActivity.this, android.R.layout.simple_spinner_item, allNames); 


spinner.setAdapter(dataAdapter); 
1
allNames.clear(); 
    allNames.add("Select Vehicle"); 
    JSONArray array = jsonObject.getJSONArray("Spinner value"); 
    for (int i = 0; i < array.length(); i++) 
    { 
    JSONObject job = array.getJSONObject(i); 
    String name = job.getString("spinner_data"); 
    allNames.add(name); 
    } 
1

を試してみてください。

1

サーバから受信したresponseと似た独自のobjectを作成し、サーバデータを解析する前にlistに追加することができます。

ここでサーバーの応答は文字列だけです。文字列オブジェクトをリストに追加できます。

allNames.clear(); 
allNames.add("Your First Option");//any string that relevance to your need 
//code to parse server response 
allNames.add(name); 
1

だけ

String name="select your choice" 
allNames.add(name); 

この行を追加し、スピナーデータメソッドを取得呼び出す前に 、このいずれかを試して、エラー・ログとは何スピナーデータ形式のサーバーに

+0

ありがとうございます:) – Avinash

0
String choice1 = "Select Your Choice"; 
allNames.add(choice1); 


JSONArray array = jsonObject.getJSONArray("Spinner value"); 
       for (int i = 0; i < array.length(); i++) { 
        JSONObject job = array.getJSONObject(i); 
        String name = job.getString("spinner_data"); 
        allNames.add(name); 

       } 
+0

何がWレスポンスですか? – Avinash

+0

あなたの解析されたjsonオブジェクトの文字列のリストです。私のケースでは –

+0

とは何ですか? – Avinash

関連する問題