带有点击监听器的微调器

2022-09-04 07:15:57

我正在使用微调器,当我尝试提取所选微调器项目的项目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?任何帮助是值得赞赏的..提前致谢


答案 1

IIRC,您应该使用选定的侦听器,而不是单击:

spinner.setOnItemSelectedListener(new OnItemSelectedListener()

然后,您可以将覆盖标记添加到所选方法中。


答案 2
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) 
{         

 }
  }); 

推荐