【发布时间】:2020-10-28 18:04:32
【问题描述】:
感谢您对我遇到的微调器问题的帮助。
单击下拉箭头时,列表显示正常。但是,单击选择时,微调器视图仍显示为空白。选择的文本不会出现。什么给了?
在 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);
【问题讨论】:
-
我还没有实现 onClickListeners - 他们需要在微调器正常工作之前在那里吗?