从Android中的Spinner中删除特定值

问题描述:

我必须解析从服务器到微调器的数据。现在我想从Spinner中删除一些值。从Android中的Spinner中删除特定值

这里是我的代码。

mytaxList包括所有值。现在我想检查一下,如果TaxType是复合删除微调从该类型TaxName和TaxValue。其实我不想在微调中显示cound type tax。即我想从ArrayList mytaxList中移除复合类型税。

JSONObject taxes = returnTaxlist.getJSONObject(TAG_TAXES); 

     Object tax ; 

     if (taxes.optJSONArray("tax") != null){ 
       //The result isn't null so it is a JSONArray 
       tax = taxes.optJSONArray("tax"); 
       } 
       else 
       { 
       //The result is null so it isn't a JSONArray 
       tax = taxes.optJSONObject("tax"); 
       } 

       if (tax instanceof JSONObject){ 
       // The object is a JSONObject 
        tax = taxes.getJSONObject(TAG_TAX); 
       } 

        else 
        { 
       // The object is a JSONArray 

        tax = taxes.getJSONArray(TAG_TAX); 

        mytaxList = new ArrayList<TaxList>(); 


        for(int i = 0; i <=((JSONArray)tax).length(); i++) 
         { 
         if(i==0){ 
          TaxList iTaxClass = new TaxList(); 
          iTaxClass.setTaxId(""); 
          iTaxClass.setTaxName("--Select--"); 
          iTaxClass.setTaxType(""); 
          iTaxClass.setTaxvalue(""); 
          mytaxList.add(iTaxClass); 

          continue; 

         } 

          JSONObject taxlist = ((JSONArray)tax).getJSONObject(i-1); 
          TaxList iTaxClass = new TaxList(); 

           //***** Storing each JSON item in variable 
         iTaxClass.setTaxId(taxlist.getString(TAG_TAX_ID)); 
         iTaxClass.setTaxName(taxlist.getString(TAG_TAX_NAME)); 
         iTaxClass.setTaxType(taxlist.getString(TAG_TAX_TYPE)); 
         iTaxClass.setTaxvalue(taxlist.getString(TAG_TAX_VALUE)); 

         mytaxList.add(iTaxClass); 


         } 

          tax1 = (Spinner)findViewById(R.id.item1); 
          tax1.setAdapter(new TaxListAdapter(mytaxList,this)); 

          tax1.setOnItemSelectedListener(new Spinner.OnItemSelectedListener() { 

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

            TaxListAdapter taxlistvalue = (TaxListAdapter)parent.getAdapter(); 
            taxlistvalue.getItemId(position); 

         } 

         public void onNothingSelected(AdapterView<?> arg0) { 


         } 
        }); 
+0

您的适配器应该有一些删除方法,您可以使用它来删除一些值 – FoamyGuy 2012-07-25 13:14:46

添加到ArrayList检查这个条件Custom征税对象,如果有对象添加到ArrayList中否则没有必要前加。

if(taxlist.getString(TAG_TAX_NAME).equals("Normal") mytaxList.add(iTaxClass); 
    mytaxList.add(iTaxClass); 

我没有完全缓解,但仅仅是一个起点:

tax1.setOnItemSelectedListener(new Spinner.OnItemSelectedListener() { 
    public void onItemSelected(AdapterView<?> parent, View selectedItemView, int position, long id){ 
     //get the selected item 
     Object item = tax1.getItemAtPosition(position); 

    }