2013-06-05 65 views
0

我試圖把這個JSON分裂JSON和插入陣列微調

{ 
    "display_name": "Type of Business", 
    "field_type": "Drop Down Menu", 
    "option_value": "Education\r\nHealth\r\nComputers\r\nFood\r\nRetail\r\nOther" 
}, 

ArrayList,然後填充我SpinnerArrayList。這是代碼。

protected void onPostExecute(String string) { 
     // dismiss the dialog 
     pDialog.dismiss(); 
     // loop through infoList 
     for (int i = 0; i < infoList.size(); i++) { 
      // get HashMap 
      HashMap<String, String> map = infoList.get(i); 

      // Create Spinner 
      if (map.get(TAG_FIELD).equals("Drop Down Menu")) { 
       Log.v("RESPONSE", "About to create a Drop Down Menu"); 
       // find 
       LinearLayout content = (LinearLayout) view 
         .findViewById(R.id.genA_layout); 
       // create 
       TextView tv = new TextView(getActivity()); 
       LinearLayout ll3 = new LinearLayout(getActivity()); 
       ArrayList<String> spinnerArray = new ArrayList<String>(); 
       ArrayAdapter<String> aa = new ArrayAdapter<String>(
         getActivity(), 
         android.R.layout.simple_spinner_dropdown_item, 
         spinnerArray); 
       Spinner spinner = new Spinner(getActivity()); 
       // set 
       tv.setLayoutParams(new LinearLayout.LayoutParams(
         LinearLayout.LayoutParams.WRAP_CONTENT, 
         LinearLayout.LayoutParams.MATCH_PARENT)); 
       spinner.setLayoutParams(new LinearLayout.LayoutParams(
         LinearLayout.LayoutParams.WRAP_CONTENT, 
         LinearLayout.LayoutParams.MATCH_PARENT)); 
       ll3.setLayoutParams(new LinearLayout.LayoutParams(
         LinearLayout.LayoutParams.MATCH_PARENT, 
         LinearLayout.LayoutParams.MATCH_PARENT)); 
       tv.setText(map.get(TAG_NAME)); 
       spinnerArray.add(map.get(TAG_VALUE)); 
       spinner.setAdapter(aa); 
       ll3.setOrientation(LinearLayout.HORIZONTAL); 
       ll3.setGravity(Gravity.CENTER); 
       // add 
       ll3.addView(tv); 
       ll3.addView(spinner); 
       content.addView(ll3); 
      } 

     } 

     // find 
     LinearLayout loader = (LinearLayout) view 
       .findViewById(R.id.loader_layout); 
     Button save = (Button) view 
       .findViewById(R.id.generalAssets_save_button_ID); 
     // set 
     loader.setVisibility(View.GONE); 
     save.setVisibility(View.VISIBLE); 

    }; 

我失敗是因爲我不想打破String上來就爲「\ r \ n」分隔符。現在我正在插入

Education\r\nHealth\r\nComputers\r\nFood\r\nRetail\r\nOther 

ArrayList的一個索引。

那麼我會如何分解呢?子?拆分功能?

回答

0

明白了,我在我的代碼中使用這樣的:

String s = map.get(TAG_VALUE); 
    for (String parts : s.split("\r\n")) { 
     spinnerArray.add(parts);  
    } 
1
int index=0; 
    int index2=0; 
    ArrayList<String> strArrayList= new ArrayList<String>(); 
    while(index!=-1) 
    { 
     index = str.indexOf("\r\n"); 
     index2 = index+4; 
     if(index!=-1 && index2!=-1) 
     { 
      strArrayList.add(str.substring(0, index)); 
      str = str.substring(index2+1, str.length(); 

     } 
    } 
+0

就是解決這個 –

+0

的一個非常獨特的,複雜的方式只是發生在我身上的那一刻XD –

+0

我把它挖出來,它的樂趣瞭解其他人的思想是如何通過他們的代碼工作的。 +1爲原創 –