-2

我想在android中实现一个带有标签“CATEGORY”的下拉菜单。

在这里,当我单击“类别”按钮时,应填充一个列表。但是,当我选择该列表中的任何项目时,我不想更改标签“CATEGORY”。

怎么做?

4

2 回答 2

1

一旦您了解了微调器的工作原理,这将变得很容易。:)

微调器使用getView方法来填充关闭的微调器,并使用getDropDownView方法来创建下拉列表。使用此信息,您可以创建一个自定义适配器,该适配器可以在关闭视图中显示当前选择之外的其他内容。这还可以让您避免在数据中包含非数据(如“CATEGORY”一词)。

一个简单的例子:

public class CustomAdapter extends ArrayAdapter { 
    private Context context; 
    private int textViewResourceId; 
    private String[] objects; 

    public CustomAdapter(Context context, int textViewResourceId, 
            String[] objects) { 
        super(context, textViewResourceId, objects); 
        this.context = context; 
        this.textViewResourceId = textViewResourceId; 
        this.objects = objects; 
    } 

    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
        if (convertView == null) 
            convertView = View.inflate(context, textViewResourceId, null); 
            TextView tv = (TextView) convertView; 
            tv.setText("CATEGORY"); 
        } 
        return convertView; 
    } 
} 

微调器的其余部分将正常运行,因此您可以在onItemSelectedListener.

于 2012-09-21T14:10:27.113 回答
0

在您的OnItemSelectedListener方法中,获取您选择的值并将其存储在共享首选项的某个位置并使用spinnersetSelection(0);:) 如果再次单击微调器,则从共享首选项加载值:)

于 2012-09-21T13:53:18.047 回答