如何在android中动态地向微调器添加项目?
答案 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);