问题描述:在Android中动态创建的Spinner无法滚动。
解决方法:
LayoutParams
将高度设置为固定值或包裹内容。Spinner spinner = new Spinner(context);
spinner.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
OnTouchListener
来实现。ScrollView scrollView = findViewById(R.id.scrollView);
scrollView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
spinner.getParent().requestDisallowInterceptTouchEvent(true);
return false;
}
});
ArrayAdapter adapter = new ArrayAdapter<>(context, android.R.layout.simple_spinner_item, data);
spinner.setAdapter(adapter);
ScrollView
或NestedScrollView
。
这些解决方法通常可以解决动态创建的Spinner无法滚动的问题。根据具体情况选择适合的解决方法。