我有一个Dialog
和14 Spinner
。每个微调框上仅设置了一个Adapter
。
在对话框上调用.show()
会滞后,并在5或6秒后首次显示。下次我只使用hide()
和show()
时,它会完美地工作。
这是MCVE。
class HourDialog extends Dialog {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.dialog_layout);
setDateAdapter();
}
private void setDateAdapter() {
ArrayAdapter adapterDate = new ArrayAdapter<>(c, R.layout.spinner_item, R.id.spinner_item_tv, c.getResources().getStringArray(R.array.hours_arrays));
monSpinnerFrom.setAdapter(adapterDate);
tueSpinnerFrom.setAdapter(adapterDate);
wedSpinnerFrom.setAdapter(adapterDate);
thusSpinnerFrom.setAdapter(adapterDate);
friSpinnerFrom.setAdapter(adapterDate);
satSpinnerFrom.setAdapter(adapterDate);
sunSpinnerFrom.setAdapter(adapterDate);
monSpinnerTo.setAdapter(adapterDate);
tueSpinnerTo.setAdapter(adapterDate);
wedSpinnerTo.setAdapter(adapterDate);
thusSpinnerTo.setAdapter(adapterDate);
friSpinnerTo.setAdapter(adapterDate);
satSpinnerTo.setAdapter(adapterDate);
sunSpinnerTo.setAdapter(adapterDate);
}
}
我认为我应该想出一个更好的UI / UX,以便在14个微调器之外获得数小时的输入。但是有可能解决此问题吗?我目前正在onCreate()
中设置适配器。我还尝试在onShowListener
中设置适配器,但没有任何改变。
我认为DialogFragment
的效果与Dialog
相同。对话主题活动可能是一种解决方案,但我尚未对其进行检查。