所以,到目前为止,我有一个有两种不同选择的微调器。我想要完成的是,如果选择了“第一个微调器选项”,那么我将 ContentView 设置为特定布局并执行与该布局相对应的代码。如果选择“第二个微调选项”也是如此。我知道我需要在一定程度上使用 setOnItemSelectedListener,但我不确定这将如何工作。下面是我在编码术语中尝试做的快速模拟
spinner.setonItemSelectedListener(this);
if(spinner = first spinner option){
setContentView(R.layout.lay1);
//other code here
}elseif(spinner = second spinner option){
setContentView(R.layout.lay2);
//other code here
}
我知道这里的语法不好,我只是想大致了解如何做到这一点。
编辑:@CodeMagic 到目前为止,我的代码就是这样设置的。'items' 只是一个包含 2 个元素的字符串数组。
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
R.layout.my_spinner_style, items) {
public View getView(int position, View convertView, ViewGroup parent) {
View v = super.getView(position, convertView, parent);
Typeface tf = Typeface.createFromAsset(getAssets(), "fonts/Exo-Bold.otf");
((TextView) v).setTypeface(tf);
return v;
}
public View getDropDownView(int position, View convertView, ViewGroup parent) {
View v =super.getDropDownView(position, convertView, parent);
Typeface tf = Typeface.createFromAsset(getAssets(), "fonts/Exo-Bold.otf");
((TextView) v).setTypeface(tf);
//v.setBackgroundColor(Color.GREEN);
return v;
}
};
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
gasChoice.setAdapter(adapter);
addListenerOnSpinnerItemSelection();
}
public void addListenerOnSpinnerItemSelection(){
gasChoice = (Spinner) findViewById(R.id.gasChoice);
gasChoice.setOnItemSelectedListener(new OnItemSelected());
}