关于下拉框的问题,需要您的帮助。
当单击下拉箭头时,列表显示正常。但是,在选择后单击时,旋转器视图仍然为空白,选择的文本不会出现。怎么回事呢?
在Android Studio的预览中,根据我的指定的android:entries,它看起来很好。截图在这里:(https://imgur.com/a/vmdPA)
您可以看到,背景是灰色的,其他所有内容也是白色背景。因此,我认为颜色不是这里的问题所在。
我已经检查并更改了背景颜色,甚至删除了一些小部件,这样我就可以看到是否有任何东西阻止选择出现。
除了正常声明Spinner、Arraylist、创建新的arrayadapter、setDropDwonViewResource、将arrayadapter设置为spinner之外,我还需要做些什么吗?
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_spinner_dropdown_item, spinnerArray);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
mStoreSpinner.setAdapter(adapter);
旋转器的XML也尽可能“简单”:
<Spinner
android:id="@+id/s_spinner"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintBottom_toTopOf="@+id/recyclerord"
app:layout_constraintLeft_toRightOf="@+id/orderID"
app:layout_constraintTop_toBottomOf="@+id/header"
app:layout_constraintRight_toRightOf="@+id/ConstraintLayout"
android:visibility="visible"
android:layout_marginStart="0dp"
android:entries="@array/array_test"
>
</Spinner>
感谢您的选择。
编辑: 这是我添加的内容。
mStoreSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View v, int postion, long arg3) {
// TODO Auto-generated method stub
String spinnerValue= parent.getItemAtPosition(postion).toString();
Log.d(TAG, "test");
Toast.makeText(getBaseContext(), "Selected item" + spinnerValue, Toast.LENGTH_SHORT).show();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_spinner_dropdown_item, spinnerArray);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
mStoreSpinner.setAdapter(adapter);