android - 为什么 Spinner.getChildAt 返回 null?

标签 android android-spinner

我在我的一个 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/

相关文章:

android - 如何在 onCreate 中将 View 添加到 fragment

android - ADT 10.0.1 中的问题

java - 当我为 Lint 实现自定义检测器时如何调试 java 源代码?

android - 如何让重力 'bottom' 在 xml 中的可绘制对象上工作

Android 在其他应用程序之上绘图 >23 API

android - 用按钮制作一个类似旋转器的下拉框?

android - 如何更改 Android 中的微调按钮颜色?

android - 默认选择为空的微调器

android - 在所有 Activity 中使用相同的微调器

Android Spinner 获取选定值 OnSelectedItemListener();