我想在android应用程序的运行时编辑微调器值

我想在android应用程序的运行时编辑微调器值,android,spinner,Android,Spinner,Hai,我想在android应用程序运行时编辑微调器值调用setSelection()以更改微调器中的选定项。否则,Android中就没有“可编辑的”微调器了。如果你是说在运行时填充微调器值:没有什么特别之处,比如: 1) 通过xml资源实例化微调器 2) 通过Activity.findViewById()获取对微调器对象的引用 3) 为微调器定义适配器: ArrayAdapter<CharSequence> adapter = new ArrayAdapter<CharSeq

Hai,我想在android应用程序运行时编辑微调器值

调用
setSelection()
以更改
微调器中的选定项。否则,Android中就没有“可编辑的”微调器了。

如果你是说在运行时填充微调器值:没有什么特别之处,比如:

1) 通过xml资源实例化
微调器

2) 通过Activity.findViewById()获取对微调器对象的引用

3) 为微调器定义
适配器

ArrayAdapter<CharSequence> adapter = new ArrayAdapter<CharSequence>(context, android.R.layout.simple_spinner_item)
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
spinner.setAdapter(adapter);
ii)然后只需将这些样式应用于
微调器

从未检查过,但应该可以工作,至少我曾经用这种方式重新定义微调器的样式。

在我的问题中:
我放置了可编辑微调器的工作代码。唯一的问题是虚拟键盘的存在。

我希望它能对您有所帮助

请尝试此代码

public class MainActivity extends Activity {

    Spinner sp;
    EditText et;
    List<String> li;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        li=new ArrayList<String>();
        li.add("Item 1");
        li.add("Item 2");
        li.add("Item 3");

        sp=(Spinner) findViewById(R.id.spinner1);
        Button b=(Button) findViewById(R.id.button1);
        et=(EditText)findViewById(R.id.editText1);

        add();

        b.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
            li.add(et.getText().toString());
            et.setText(null);
            add();
            }
        });
    }

    private void add() {

    ArrayAdapter<String> adp=new ArrayAdapter<String>(this,
    android.R.layout.simple_dropdown_item_1line,li);
        adp.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
        sp.setAdapter(adp);
    }
}
公共类MainActivity扩展活动{
纺纱机;
编辑文本;
李名单;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
li=新的ArrayList();
li.添加(“第1项”);
li.添加(“第2项”);
li.添加(“第3项”);
sp=(喷丝器)findViewById(R.id.spinner1);
按钮b=(按钮)findViewById(R.id.button1);
et=(EditText)findViewById(R.id.editText1);
添加();
b、 setOnClickListener(新视图。OnClickListener(){
@凌驾
公共void onClick(视图v){
li.add(et.getText().toString());
et.setText(空);
添加();
}
});
}
私有void add(){
ArrayAdapter adp=新的ArrayAdapter(此,
android.R.layout.simple_下拉列表_item_1line,li);
adp.setDropDownViewResource(android.R.layout.simple\u dropdown\u item\u 1line);
sp.setAdapter(adp);
}
}

简短而简单的回答:

final Spinner team = (Spinner) findViewById(R.id.team_name);
team.setSelection(5); // To set 6th value in the list.

那么,你现在面临的问题是什么that@schwiz请理解我的问题。我想要edittable微调器。听起来你更想为自己编写代码,而不是一个问题。
final Spinner team = (Spinner) findViewById(R.id.team_name);
team.setSelection(5); // To set 6th value in the list.