1

我正在开发一个需要动态添加的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将 hev 键值对。因此,在 Spinner 中,所有项目都从该地图的 Value 中显示出来。

问题陈述:-

现在我需要确保是否有人选择了 Spinner 中的任何项目,它应该被选中并且肉眼可见。

我怎样才能根据我的代码做到这一点。谢谢您的帮助。

下面是图片-

在此处输入图像描述

4

2 回答 2

1

尝试使用此代码:

ArrayAdapter<String> spinnerArrayAdapter  = new ArrayAdapter<String>(con,
        android.R.layout.simple_spinner_item, spinnerArray);
    spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
于 2013-03-24T23:19:14.710 回答
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
}
于 2013-03-24T21:44:42.230 回答