如何将值从onItemSelected传递给另一个微调器

时间:2016-09-10 11:30:11

标签: android android-spinner

我在一个活动中有3个微调器,它们使用loopj从webservices中填充3个方法,如下所示。我想传递" ida"的价值。从onItemSelected spinner1spinner3。那么如何将值从一个方法传递给另一个方法。

protected void onCreate(Bundle savedInstanceState) {
     getSpinner1();
}

private void getSpinner1() {
    RestClient1.getForSpinner1(  
.
.                       
public void onItemSelected(AdapterView<?> parent, View view, int position, long ida) {
                     getSpinner2(ida);    
}

private void getSpinner2(Long ida) {
    RestClient2.getForSpinner2(  
.
.                       
public void onItemSelected(AdapterView<?> parent, View view, int position, long idb) {
                     getSpinner3(ida,idb);    
}

.
.
private void getSpinner3(Long ida,Long idb) {
    RestClient3.getForSpinner3(  
.
.                       
public void onItemSelected(AdapterView<?> parent, View view, int position, long idc) {   
}

1 个答案:

答案 0 :(得分:0)

尝试使用OnItemSelectedListener。有关如何在StackOverFlow中找到的简要描述 - how-to-pass-a-selected-spinner-item-between-spinners

之前我曾经使用过这款产品,并且它有魅力。

编辑:总结@ Skizo-ozᴉʞS解决方案,以下 -

然后创建一个globalVariable以将String获取到第一个Spinner,如下所示:

String FirstValue = "";

然后你需要打电话给:

spinnerLengthInput.setOnItemSelectedListener(this);
spinnerLengthOutput.setOnItemSelectedListener(this);

当然,您需要实现OnItemSelectedListener

然后在里面你可以做你正在做的事情。

 @Override
 public void onItemSelected(AdapterView<?> spinner, View view, int position,long id)
{
 FirstValue = spinner.getItemAtPosition(position).toString();
    checkIfConvertingFromMeter(itemSelectedInSpinnerLengthInput);
}

然后在你的其他Spinner中使用FirstValue值。