我可以用类似的代码创建一个非常简单的Spinner
final List<String> categories = new ArrayList<>();
categories.add("First");
categories.add("Second");
categories.add("Third");
final Spinner spinner = new Spinner(context);
final ArrayAdapter<String> dataAdapter = new ArrayAdapter<>(context, R.layout.spinner, categories);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(dataAdapter);
但是,这需要在我的应用程序中使用R.layout.spinner
。如何使用自己的纯Java代码来避免这种XML,例如通过实现自己的类ArrayAdapter
?
从ArrayAdapter扩展自定义适配器,并尝试用自己的代码覆盖getView()
。您应该能够创建具有空资源id的适配器。您将不得不构建自己的视图,因为您将不再使用资源。