如何在android中动态添加项目到微调器?

时间:2010-01-29 07:26:45

标签: android

如何在android中动态地向微调器添加项目?

3 个答案:

答案 0 :(得分:31)

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();

以上是在数组适配器的情况下,我相信你知道如何用ArrayAdapter填充值。

我们如何在SimpleCursorAdapter的情况下这样做,即如果我们有2个微调器并且如果我们根据某些条件选择一个微调器的值(即从SimpleCursorAdapter获取值),则应该用值填充其他微调器。我们怎样才能做到这一点?

答案 1 :(得分:8)

通过调用ArrayAdapter.add到Spinner的ArrayAdapter。

答案 2 :(得分:0)

您可以按照这种方式

public static void selectSpinnerItemByValue(Spinner spnr, long value){
SimpleCursorAdapter adapter = (SimpleCursorAdapter) spnr.getAdapter();
for (int position = 0; position < adapter.getCount(); position++)
{
    if(adapter.getItemId(position) == value)
    {
        spnr.setSelection(position);
        return;
    }
} }

您可以使用以上内容:

selectSpinnerItemByValue(spinnerObject, desiredValue);

您也可以直接选择索引,如

spinnerObject.setSelection(index);