0

スピナーを持っています。ユーザーがそれをクリックすると、ダイアログボックスが表示され、いくつかの行とその行内のテキストから選択できます。スピナー内のデフォルトのテキストはですSelect facility。そして、最初の行のテキストは同じselect facilityです。ここで必要なのは、スピナーダイアログボックスの最初の行のテキストの色、つまり選択機能の色を変更することです。

どうすればこれを達成できますか?

これが私がそれを変えることができると私が信じるコードです。

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()メソッドがありません。

4

2 に答える 2

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;
}
于 2012-10-15T08:17:12.003 に答える
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);
    }
于 2012-10-15T08:12:11.263 に答える