2011-09-13 90 views
9

我正在使用微调,当我试图提取所选微调项目的项目ID时显示错误。 我的代码在这里:微调与点击监听器

public void dispspi() 
    { 
    spinner = (Spinner) findViewById(R.id.spinner1); 
    ArrayAdapter <String> adap= new ArrayAdapter(this, android.R.layout.simple_spinner_item, level); 

     spinner.setAdapter(adap); 
     spinner.setOnItemClickListener(new OnItemClickListener() { 

     public void onItemSelected(AdapterView<?> arg0, View arg1,int arg2, long arg3) 
     { 
      int item = spinner.getSelectedItemPosition(); 

      p=item; 
     } 


     @Override 
     public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, 
       long arg3) { 
      // TODO Auto-generated method stub 

     } 



    }); 
    } 

如何获取微调器的项目ID?任何帮助是提前

回答

9

IIRC,你应该使用选定的监听器,而不是点击:

spinner.setOnItemSelectedListener(new OnItemSelectedListener() 

然后你可以重写代码添加到您选择的方法。

-1

appreciated..Thanks你应该在听者(OnItemSelectedListener)

public void onNothingSelected(AdapterView<?> arg0) { 
} 

有这样它可能没有工作,但把它要一致 但可能有其他错误还,你能提供错误日志吗?

7
private String selecteditem; 

spinner.setOnItemSelectedListener(new OnItemSelectedListener() 
{  
@Override 
public void onItemSelected(AdapterView adapter, View v, int i, long lng) { 

    selecteditem = adapter.getItemAtPosition(i).toString(); 
    //or this can be also right: selecteditem = level[i]; 
} 
    @Override  
    public void onNothingSelected(AdapterView<?> parentView) 
{   

} 
    }); 
0
spinner3.setOnItemSelectedListener(new OnItemSelectedListener() { 

     @Override 
     public void onItemSelected(AdapterView<?> parent, View v, 
       int postion, long arg3) { 
      // TODO Auto-generated method stub 
     String SpinerValue3 = parent.getItemAtPosition(postion).toString(); 

      Toast.makeText(getBaseContext(), 
        "You have selected 222 : " + SpinerValue3, 
        Toast.LENGTH_SHORT).show(); 

     } 

     @Override 
     public void onNothingSelected(AdapterView<?> arg0) { 
      // TODO Auto-generated method stub 

     } 
    });