所以,我有一个微调到目前为止有两个不同的选项。我试图完成的是,如果选择“First Spinner Option”,那么我将setContentView设置为特定布局并执行与该布局相对应的代码。如果选择“Second Spinner Option”,也是一样。我知道我需要在一定程度上使用setOnItemSelectedListener,但我不确定这将如何工作。下面是我想要在编码方面Android微调改变setContentView
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());
}
我会避免这种逻辑模式,而是有一个空白区域的布局,其中你的微调器中的选择会膨胀一个新的布局或使用片段。 – Phix