我在一个活动中有3个微调器,它们使用loopj从webservices中填充3个方法,如下所示。我想传递" ida"的价值。从onItemSelected
spinner1
到spinner3
。那么如何将值从一个方法传递给另一个方法。
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) {
}
答案 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值。