我想使用微调器中的“值”。
当用户做出选择时,我想使用该值进行一些计算。
我的问题是:
1)如何正确获取值(项目)。我正在使用类似“item.MyOnItemSelectedListener == 0”。
2)该值应该是什么?例如,上面我有== 0.这意味着从微调器列表中的第一个选择?
代码:
public class number_cores extends Activity implements OnClickListener {
..
final Spinner spinner = (Spinner) findViewById(R.id.spinner);
...
public void onCreate(Bundle savedInstanceState) {
....
//spinner-drop_list
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
this, R.array.init_or_final, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(new MyOnItemSelectedListener());
}
...
public void cores_func(){
...
double fcores=0;
MyOnItemSelectedListener obj=new MyOnItemSelectedListener();
if ( obj.getPosition()==0) fcores=initcores*Math.exp(-l*ttime);
else if (obj.getPosition()==1) fcores=initcores/Math.exp(-l*ttime);
..}
//spinner class
public class MyOnItemSelectedListener implements OnItemSelectedListener {
private int position;
public int getPosition() {return position;}
public void onItemSelected(AdapterView<?> parent,
View view, int pos, long id) {
position=pos;
}
public void onNothingSelected(AdapterView <?> parent) {
// Do nothing.
}
}
谢谢!
答案 0 :(得分:1)
现在你要做的就是在微调器中为Object项分配所选项的值。您无法在可以访问它的任何位置保存该值。
要解决此问题,请在OnItemSelectedListener中保存字段中的选定值或位置。通过侦听器中的getter方法访问它,返回值。在onItemSelected方法中,每次用户更改微调器的值时都会设置该值。在Activity中,通过getter方法通过侦听器访问保存的值。
实施例:
如果要获取所选项的位置,请在侦听器类中添加private int position;
和public int getPosition() {return position;}
作为字段和方法,并在onItemSelected方法position = pos;
中添加listenerName.getPosition() == 0
以保存值。如果你想要保存对象,这是一个类似的想法。在您的应用程序中,如果列表中的第一件事是所选项目,{{1}}将成立,因此您可以使用它来执行逻辑。