问题描述
- 删除 Spinner 中指定的值
- 我想把数据从服务器解析到 spinner 中。现在我想从spinner中删除一些值。
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(mytaxListthis)); 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) { } });
taxList 中包含所有的值。现在我想检查 TaxType 是否删除了 spinner 中的 TaxName 和TaxValue 类型。事实上我不想在 spinner 中显示cound type tax。
我想从 ArrayList mytaxList 中把compound type tax 删除。 如何实现呢?
解决方案
在添加到 ArrayList 之前,检查 Custom tax 对象的条件,如果对象已经添加到 arraylist中,就不用再添加了。
if( taxlist.getString(TAG_TAX_NAME).equals(""Normal"") mytaxList.add(iTaxClass); mytaxList.add(iTaxClass);
时间: 2024-12-02 03:13:24