我正在开展一个项目,我还需要动态添加TextView
和Spinner
。我能够从我的程序中动态添加这两件事。
现在当我试图在Spinner中选择一些项目时,它没有选择那些项目。
我是否需要做任何事情才能在Spinner
中选择该项目?
for (Map.Entry<String, String> entry : mapColumns.entrySet()) {
spinnerArray = new ArrayList<String>();
final TextView rowTextView = new TextView(cont);
final Spinner spinner = new Spinner(cont);
rowTextView.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
spinner.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
for(String s: entry.getValue().split(",")) {
System.out.println(s);
s = s.replaceAll("[^a-zA-Z0-9]+","");
spinnerArray.add(s);
}
ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(cont, android.R.layout.simple_spinner_dropdown_item, spinnerArray);
rowTextView.setText(entry.getKey());
rowTextView.setTypeface(null, Typeface.BOLD);
spinner.setAdapter(spinnerArrayAdapter);
layout.addView(rowTextView);
layout.addView(spinner);
}
这里mapColumns
将是键值对。因此,在Spinner中,所有项目都会从该地图的值中显示出来。
问题陈述: -
现在我需要确定是否有人在Spinner中选择任何项目,它应该被选中并且肉眼可见。
如何根据我的代码执行此操作。谢谢你的帮助。
下面是图片 -
答案 0 :(得分:1)
尝试使用此代码:
ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(con,
android.R.layout.simple_spinner_item, spinnerArray);
spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
答案 1 :(得分:0)
将OnItemSelectedListener添加到您的微调器:
spinner.setAdapter(spinnerArrayAdapter);
// add the listener
spinner.setOnItemSelectedListener(this);
然后,在您的活动中实现监听器:
public void onItemSelected(AdapterView<?> parent, View view,
int pos, long id) {
// An item was selected. You can retrieve the selected item using
// parent.getItemAtPosition(pos)
}
public void onNothingSelected(AdapterView<?> parent) {
// Another interface callback
}