【发布时间】:2018-03-27 17:01:55
【问题描述】:
我已经为微调器制作了一个自定义适配器列表。当我从微调器中选择一个项目时,我可以获取所选项目并可以在“setOnItemSelectedListener()”中对其进行 Toast;
spinner = findViewById(R.id.spinnerId);
CustomAdapter arrayAdapter = new CustomAdapter(this, countryLists, population, flags);
spinner.setAdapter(arrayAdapter);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
if(isSelected == true){
isSelected = false;
}
else {
Toast.makeText(getApplicationContext(),countryLists[position]+" is selected", Toast.LENGTH_SHORT).show();
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
以上代码运行良好。
现在我想从按钮“OnClickListener”传递选定的项目值,如下面的代码。
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String value = spinner.getSelectedItem().toString();
textView.setText(value );
}
});
但错误显示“java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on an null object reference”
可能是什么问题??
【问题讨论】:
-
你在微调器上选择了什么?
-
@Laureal 检查此链接:- stackoverflow.com/a/49491407/7319704