当用户未在我的应用程序中选择微调器时,我使用此代码显示提示:
protected View getView(int position, View convertView, ViewGroup parent)
throws IllegalAccessException {
if( position<0 ) {
final TextView v= (TextView) ((LayoutInflater)getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE)).
inflate(android.R.layout.simple_spinner_item, parent, false);
v.setText("--select one--");
return v;
}
return obj.getView(position,convertView,parent);
}
当我想在未选中时从spinner保存我的值时遇到一个问题,它总是从这一行返回空指针,例如:
hubungan_pp.getSelectedItem().toString(),
hubungan_pp.getSelectedItemPosition()
我的应用程序中有55个微调器,当我单击按钮保存时,我没有选择我的微调器,它总是返回空指针。我的问题是当用户不点击我的微调器时,我如何获得空值?
答案 0 :(得分:0)
可能hubungan_pp.getSelectedItem()
为null
,因为未选中微调器。因此,当您在其上调用.toString()
时,它返回NullPointerException是合乎逻辑的。
答案 1 :(得分:0)
您可以将default selection text添加为“选择一个”或默认值。或者您可以按如下方式处理Null值检查:
String selected_text = "none"
if (hubungan_pp.getSelectedItem() != null)
{
selected_text = hubungan_pp.getSelectedItem().toString();
}
希望这有帮助。