【发布时间】:2015-05-08 15:49:03
【问题描述】:
一个新手问题。我来自红宝石背景,想知道如何解决这个问题。
每当我尝试返回在函数中初始化的值时,它都会打印null 或nothing。谁能告诉我如何返回值?
这是我尝试过的。
firstFunction(){
String id = setSpinner();
}
public String setSpinner(){
ArrayAdapter<String> adapter;
final String[] id = new String[1];
adapter = new ArrayAdapter<String>(user_activity.this,android.R.layout.simple_dropdown_item_1line,brand_list);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
id[0] = _ids.get(i);
//Toast.makeText(getBaseContext(), id[0] + ":" + spinner.getSelectedItem().toString(), Toast.LENGTH_SHORT).show(); // Prints correct value
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
Toast.makeText(getBaseContext(), id[0].toString() , Toast.LENGTH_SHORT).show(); // Always prints null
return id[0]; // returns empty string
}
【问题讨论】:
-
什么是_ids。是否正确填充?
-
您似乎无法为`id[0]`分配任何值,因此它总是返回null。可以调试一次代码吗?
-
return .... 尝试打印 id[0] 的值
-
@Knosso
_ids是一些元素的数组。 -
@SparshKhandelwal 我可以打印
setOnItemSelectedListener内的值。但不在函数之外。