从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) {
}
});
答
添加到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);
}
您的适配器应该有一些删除方法,您可以使用它来删除一些值 – FoamyGuy 2012-07-25 13:14:46