所以,我有一個微調到目前爲止有兩個不同的選項。我試圖完成的是,如果選擇「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