Android Spinner动态更改项目

Android Spinner动态更改项目,android,spinner,Android,Spinner,我想在我的应用程序中使用微调器。微调器的上下文(项目)取决于用户在应用程序设置中的首选项 我创建了没有项目的微调器。加载应用程序后,微调器有一个条目。要获取条目,用户必须进入菜单并加载图像。基于此,项目被加载到字符串数组中。此字符串数组将移交给适配器。见代码: List<String> als = new ArrayList<String>(); als = Arrays.asList(Data.getfloornames()); adapter = new ArrayA

我想在我的应用程序中使用微调器。微调器的上下文(项目)取决于用户在应用程序设置中的首选项

我创建了没有项目的微调器。加载应用程序后,微调器有一个条目。要获取条目,用户必须进入菜单并加载图像。基于此,项目被加载到字符串数组中。此字符串数组将移交给适配器。见代码:

List<String> als = new ArrayList<String>();
als = Arrays.asList(Data.getfloornames());
adapter = new ArrayAdapter<String>(this, R.array.flooritem, als);
adapter.notifyDataSetChanged();
floornum.setAdapter(adapter);
我做错了什么?无法在应用程序的菜单设置中设置微调器项目吗?

尝试更改此设置:

adapter.notifyDataSetChanged();
floornum.setAdapter(adapter);
为此:

floornum.setAdapter(adapter);
adapter.notifyDataSetChanged();
见javadoc

textViewResourceId包含 实例化视图时要使用的TextView


您可以尝试以下代码在微调器中动态添加项

Spinner spinner = (Spinner)findViewById(R.id.mySpinner);
ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, android.R.id.text1);
spinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(spinnerAdapter);
spinnerAdapter.add("value");
spinnerAdapter.notifyDataSetChanged();
Spinner-Spinner=(Spinner)findViewById(R.id.mySpinner);
ArrayAdapter spinnerAdapter=新的ArrayAdapter(这个,android.R.layout.simple\u微调器项目,android.R.id.text1);
spinnerAdapter.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
spinner.setAdapter(spinnerAdapter);
spinnerAdapter.add(“价值”);
spinnerAdapter.notifyDataSetChanged();

微调器没有文本视图。我使用String.xml中的数组项作为Ressource。我还尝试使用布局id和微调器的id。结果总是一样的。是的,将R.array.flooritem更改为android.R.layout.simple\u spinner\u项目,然后查看差异。抱歉,刚才看到了您的答案。sandeep的答案解决了这个问题。是否需要创建一个新的ArrayAdapter?我们不能使用现有的一个,只给它分配新的ArrayList/值吗?
Spinner spinner = (Spinner)findViewById(R.id.mySpinner);
ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, android.R.id.text1);
spinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(spinnerAdapter);
spinnerAdapter.add("value");
spinnerAdapter.notifyDataSetChanged();