在锭床工人的文本是白色的在白色背景

Rob*_*met 35 android adapter

我的微调器上的文字是白色的,我不知道为什么.

在此输入图像描述

这是我的xml,没什么特别的

 <Spinner
     android:id="@+id/spinner_date"
     android:layout_width="0dp"
     android:layout_height="wrap_content"
     android:layout_weight="1" />
Run Code Online (Sandbox Code Playgroud)

我的代码

dateSpinner = (Spinner) findViewById(R.id.spinner_date);
selectedDate = calendar.getTime();
List<String> list = new ArrayList<String>();
list.add(formatter.format(selectedDate));
dateAdapter = new ArrayAdapter<String>(mContext,
            android.R.layout.simple_spinner_item, list);
dateSpinner.setAdapter(dateAdapter);
Run Code Online (Sandbox Code Playgroud)

我的文字以白色显示的原因是什么?

编辑:我找到了原因,我替换了我的onCreate中设置的mContext参数.

mContext = getApplicationContext();
Run Code Online (Sandbox Code Playgroud)

现在我用d

ateAdapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_spinner_item, list);
Run Code Online (Sandbox Code Playgroud)

它的工作原理.

小智 102

我有同样的问题,并找到了答案.你不使用应用程序上下文,只是使用getActivity()(如果你在片段中)或这个(如果你在活动中),它将工作

 dateAdapter = new ArrayAdapter<String>(**this**,
        android.R.layout.simple_spinner_item, list);
Run Code Online (Sandbox Code Playgroud)


smu*_*uka 15

我使用了解决了这个问题

getBaseContext()
Run Code Online (Sandbox Code Playgroud)

代替

getApplicationContext()
Run Code Online (Sandbox Code Playgroud)