2017-08-09 10 views
1
私は項目がサーバーから来て1つのスピナーを実装したい

から来ているスピナーの「選択項目」を追加し、私はスピナーの最初の行の「選択項目」を追加したい項目は、サーバー

これはスピナー

です
<Spinner 
      android:background="@drawable/spinner_back" 
      android:id="@+id/eduMinPart" 
      android:layout_width="350dp" 
      android:layout_height="50dp" 
      android:textSize="18dp" 
      style="@style/Base.Widget.AppCompat.Spinner.Underlined" 
      android:layout_below="@+id/EducationTV" 
      android:layout_centerHorizontal="true" 
      android:layout_marginTop="2dp"/> 

これは私がadapter.add( "教育の選択")と、プロンプト使用されるが、両方が動作していないJavaコード

StringRequest strReqests = new StringRequest(Request.Method.GET,EDU_URL, 
      new Response.Listener<String>() { 
       @Override 
       public void onResponse(String response) { 
        String[] arr = response.trim().split(","); 
        ArrayAdapter<String> adapter = new ArrayAdapter<String> 
      (EditDetails7.this, android.R.layout.simple_list_item_1, arr); 
      adapter.setDropDownViewResource 
        (android.R.layout.simple_spinner_dropdown_item); 
      spinEducation.setAdapter(adapter); 
       } 
      }, new Response.ErrorListener() { 
     @Override 
     public void onErrorResponse(VolleyError error) { 
      Toast.makeText(EditDetails7.this, error.toString(), 
      Toast.LENGTH_LONG).show(); 
     } 
    }); 
    AppController.getInstance().addToRequestQueue(strReqests);; 

です。

+0

** arr **が空であるかどうかを確認してください。** adapter.setDropDownViewResource(....); ** –

+0

を追加すると、arrの0番目の位置に '項目を選択'が追加されます。あなたの応答を同じアレイに追加してください。 –

+0

@Pallavi mam配列の0番目の位置に 'select Item'を追加する方法を教えてください –

答えて

1
String temp="select your what ever,"+response; 
temp=response.trim().split(","); 
+0

これは動作しません –

+0

私はこれを使用しましたs2 = "Select Item" + response.trim(); arr = s2.trim()。split( "、");あなたのコードでは、0番目の位置はアイテム 'select item'をとりますが、それを上書きするとarr = response.trim()。split( "、"); arr 0thは最初の応答項目をとります。 –

+0

あなたはhttps://stackoverflow.com/questions/14518195/how-can-i-add-new-item-to-the-string-array –

2

これはあなたに役立ちます。

int arraySize = response.trim().split(",").length + 1; 
String[] arr = new String[arraySize]; 
arr[0] = "select Item"; 
arr = response.trim().split(","); 
+0

私はこのコードを試しましたが動作しません –

+0

私はこれを使用しましたString s2 = "Select Item" + response.trim(); arr = s2.trim()。split( "、");あなたのコードでは、0番目の位置はアイテム 'select item'をとりますが、それを上書きするとarr = response.trim()。split( "、"); arr 0thは最初の応答項目をとります。 –

+0

ArrayではなくArrayListを試してみませんか? –

0

ねえ、なぜあなたの代わりにArrayのアダプタでArrayList<String>を使用しないでください。

例:

ArrayList<String> arr = new ArrayList<String>(Arrays.asList(response.trim().split(","))); 
arr.add(0, "Select Item") 
ArrayAdapter<String> adapter = new ArrayAdapter<String> 
(EditDetails7.this, android.R.layout.simple_list_item_1, arr); 
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
spinEducation.setAdapter(adapter); 

注:

"アイテムの選択" はスピナーから選択できます。 Spinnerのヘッダーと同じように配置する必要がある場合は、他の解決策を見つける必要があります。

+0

このコードを使用してスピンナーアイテムが「アイテムを選択」していれば、送信ボタンをクリックするので、空白が必要になります。 –

+0

投稿されたソリューションはこの問題をどのように解決しますか? – iMDroid

+0

この問題は残っています –

関連する問題