我在我的一个 fragment 中使用了 Spinner
。当我从 backstack 转到这个 fragment (使用后退按钮)时,它给了我一个 NullPointerException
。
代码如下
Populating spinner:
SpinnerData data = new SpinnerData(0, getString(R.string.auTypeLabel));
mAdapter.add(data);
data = new SpinnerData(AU_STANDART_TYPE, getString(R.string.auTypeStandart));
mAdapter.add(data);
data = new SpinnerData(AU_FIXED_TYPE, getString(R.string.auTypeFixed));
mAdapter.add(data);
data = new SpinnerData(AU_REVERSE_TYPE, getString(R.string.auTypeReverse));
mAdapter.add(data);
mAuTypeSpinnerLayout.getSpinner().setAdapter(mAdapter);
onActivityCreated section:
mSpinner.getChildAt(0)).getTextSize();
这给了我以下内容:
mSpinner
不为空
mSpinner.getCount()
为 4
但是 mSpinner.getChildAt(0)
是 null
也许我应该在另一个部分调用 getChildAt
方法?
最佳答案
因为 getChildCount()
为 0 -> mSpinner.getChildAt(0)
返回 null
你可以试试这个:
if (mSpinner.getChildCount() > 0) {
((TextView) mSpinner.getChildAt(0)).getTextSize();
}
关于android - 为什么 Spinner.getChildAt 返回 null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33667775/