Java 如何使用微调器项
我希望在选择特定项目(如项目2)时有特定的操作,但对任何其他项目(如项目1、3、4)有通用操作 这是我的代码:Java 如何使用微调器项,java,android,spinner,Java,Android,Spinner,我希望在选择特定项目(如项目2)时有特定的操作,但对任何其他项目(如项目1、3、4)有通用操作 这是我的代码: private String[] array_spinner = new String[4]; private thetiki mContext; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstan
private String[] array_spinner = new String[4];
private thetiki mContext;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mContext = this;
setContentView(R.layout.main2);
array_spinner[0] = "Mathimatika Genikis Paideias";
array_spinner[1] = "Fusiki Genikis Paideias";
array_spinner[2] = "Istoria Genikis Paideias";
array_spinner[3] = "Viologia Genikis Paideias";
Spinner s = (Spinner)findViewById(R.id.spinner);
ArrayAdapter adapter =
new ArrayAdapter(this, android.R.layout.simple_spinner_item,
array_spinner);
s.setAdapter(adapter);
// more code
apostoli.setOnClickListener(new OnClickListener() {
private AlertDialog show;
public void onClick(View arg0) {
if (...) {
if (array_spinner[2] != null) {
//do something
} else if (array_spinner[0] != null || array_spinner[1] != null || array_spinner[3] != null) {
//do something else
}
}
在这种情况下,数组_微调器[index]永远不会为空。你已经初始化了,怎么可能?您需要设置一个侦听器来处理微调器中的选择,如下所示:
s.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
if(pos == 2) {
//do specific action
} else {
//do generic action
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
//do nothing
}
});
s.setOnItemSelectedListener(新的OnItemSelectedListener(){
@凌驾
已选择公共位置(AdapterView父项、视图、整数位置、长id){
如果(位置==2){
//采取具体行动
}否则{
//做一般动作
}
}
@凌驾
未选择公共无效(AdapterView父级){
//无所事事
}
});
请参阅中的详细信息。数组中的微调器[index]在这种情况下永远不会为空。你已经初始化了,怎么可能?您需要设置一个侦听器来处理微调器中的选择,如下所示:
s.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
if(pos == 2) {
//do specific action
} else {
//do generic action
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
//do nothing
}
});
s.setOnItemSelectedListener(新的OnItemSelectedListener(){
@凌驾
已选择公共位置(AdapterView父项、视图、整数位置、长id){
如果(位置==2){
//采取具体行动
}否则{
//做一般动作
}
}
@凌驾
未选择公共无效(AdapterView父级){
//无所事事
}
});
请参阅。中的更多信息。您能更清楚地说明您的问题吗?您能更清楚地说明您的问题吗?我在一个按钮上有一个if会话。我想将微调器用于此按钮的if。那么,是否有可能将on-SetOnItemSelected Listener转换为另一个?不是您描述的方式,否。如果要从微调器获取所选项目位置,请查看微调器文档——从AdapterView继承的方法,具体来说,请为此提供一个方法。:)我真的不明白。我在想用一个开关方法。实际上你可以用一个开关方法,但是你要打开什么?当前选定的微调器项,对吗?如何获得所选项目的位置?我想的是:switch(array_spinner.length){case array_spinner[2]://执行我的工作中断;}我在一个按钮上有一个if会话。我想在这个按钮的if中使用微调器..所以,是否可以将on-setOnItemSelectedListener转换为另一个?不是您描述的方式,不是。如果您想从微调器获取所选项目的位置,请查看微调器文档--从AdapterView继承的方法,具体来说,提供一个方法。:)我真的不明白。我在想用一个开关方法。实际上你可以用一个开关方法,但是你要打开什么?当前选定的微调器项,对吗?如何获得所选项目的位置?我的想法是:switch(array_spinner.length){case array_spinner[2]://执行我的工作中断;}