2012-06-21 48 views
0

我有一个微调设置在屏幕上,我从另一个屏幕传递一个字符串。我希望该字符串被设置为微调器的默认值。我已经看过帖子,并试图实现它,但不知何故,它不工作。微调的默认不工作

这里是我的代码:

//workRequestFetched is a private String object 
workRequestFetched = extras.getString("workRequest"); 

workRequestSpinner = (Spinner) findViewById(R.id.workRequestSpinner); 

//ServiceCall is a function call to the web service it works fine otherwise, please don't worry about it. 

ArrayList<String> workRequests = ServiceCall.workRequests; 



     ArrayAdapter<String> workRequestAdapter = new ArrayAdapter<String>(this, 
       android.R.layout.simple_spinner_item, 
       workRequests); 

选择的是布尔如果字符串已通过与否,检查。我已经打印出来检查执行线程是否进入if子句,并且确实如此,所以认为问题不在那里。

 if(selected){ 
      System.out.println("Entered selected- "+workRequestFetched); 
//This is what supposed to set the spinner's default to the position of the string right? but it doesn't work! 

      int spinnerPosition = workRequestAdapter.getPosition(workRequestFetched); 

      workRequestSpinner.setSelection(spinnerPosition); 


     } 

     workRequestAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 


     workRequestSpinner.setAdapter(workRequestAdapter); 

任何人都可以指出错误吗?谢谢!

回答

2

您的片段更改为以下

ArrayAdapter <String> workRequestAdapter = new ArrayAdapter <String> (
this,android.R.layout.simple_spinner_item,workRequests); 
workRequestAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
workRequestSpinner.setAdapter(workRequestAdapter); 
workRequestSpinner.setSelection(workRequestAdapter.getPosition(workRequestFetched)); 
+0

作品!谢谢。我需要在最后设置默认选择。 – Harsh

+0

是的,你知道了! –