2012-10-15 70 views
0

我有一個微調。當用戶點擊它時,會出現一個對話框,其中有多行和文本可供選擇。微調框內的默認文本是Select facility。第一行文本與select facility相同。現在我想要改變微調對話框中第一行的文本顏色,即選擇設施的顏色。更改第一行Spinner的文本顏色

我該如何做到這一點?

這裏是我相信我可以改變它的代碼。

if (position == 0 && hideFirstText) { 
     ((TextView) convertView).setText(R.string.select_facility); 
     convertView.setBackgroundResource(R.color.light_green); 
     return convertView; 
    } 

以下是我已經嘗試過

  ((TextView) convertView).setTextColor(4737352); 

但上述方案完全消除第一行文字。

我也試過這個

convertView.setTextColor(4737352); 

但convertView沒有setTextColor()方法。

回答

2

應覆蓋getView方法,,這樣

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
View view = super.getView(position, convertView, parent); 
TextView text = (TextView) view.findViewById(R.id.spinner); 
text.setTextColor(Color.RED); 
return view; 
} 
0

當對話框打開,它在內部調用getDropDownView所以定製適配器的這種方法是這樣

public View getDropDownView (int position, View convertView, ViewGroup parent){ 
     View row=super.getView(position, convertView, parent); 
     if(position == 0){ 
      //Do custom stuff here like find textview & change textcolor 
     } 
     return(row); 
    }