我从spinner中的选定项中获得一个值,该值使用'selectedSpinner'传递给字符串变量spinner.setOnItemSelectedListener()。我试图在方法之外访问'selectedSpinner'。
我尝试将'selectedSpinner'分配给另一个字符串'selectedCategory',但是在spinner.setOnItemSelectedListener()方法之外,'selectedSpinner'无法被解析。应该做些什么来访问方法之外的'selectedSpinner'?谢谢
private void recordDialog() {
...
//get category
final Spinner spinner = subView.findViewById(R.id.spinner);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.category, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
String selectedSpinner = parent.getItemAtPosition(position).toString();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
final String selectedCategory = selectedSpinner;
...
final AlertDialog alertDialog = builder.create();
alertDialog.show();
}发布于 2019-03-07 08:00:25
您需要在selectedSpinner函数之外声明recordDialog (或将其设置为全局)。
String selectedSpinner;
...
private void recordDialog() {
......
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
selectedSpinner = parent.getItemAtPosition(position).toString();
}
}之后,您可以将selectedSpinner分配给selectedCategory。
https://stackoverflow.com/questions/55038735
复制相似问题