开始时选择的Android Spinner设置项

Mit*_*d1r 4 android spinner

我在活动中包含一个String列表的Spinner,它的声明如下:

String[] notificationStatus = new String[statuses.size()];
        for (int i =0; i<statuses.size();i++){
            notificationStatus[i]=statuses.get(i);
        }
        ArrayAdapter<String> aa = new ArrayAdapter<String> (
                this, android.R.layout.simple_spinner_item, notificationStatus );

        aa.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinner.setAdapter(aa);
        spinner.setPrompt(getString(R.string.chooseType));
        spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
            public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
                posType=position;
            }

            public void onNothingSelected(AdapterView<?> parentView) {
                // your code here
            }

            });
Run Code Online (Sandbox Code Playgroud)

现在,当我开始此活动时,我在按钮上获得了notificationStatus Array的第一项(微调框的位置0),有没有办法启动一项活动,例如将数组的第3项置于2的位置?

Mit*_*d1r 6

其实我已经找到了如何做到这一点。首先,我从数组创建一个列表:

List<String> statusCheck = new ArrayList<String>();
        statusCheck = Arrays.asList(notificationStatus);
Run Code Online (Sandbox Code Playgroud)

接下来,我检查列表中要查找的字符串的位置,并在其上放置集合选择:

spinner2.setSelection(statusCheck.indexOf(status));
Run Code Online (Sandbox Code Playgroud)

  • 你什么时候设置适配器?在集合选择之后还是之前? (2认同)