android怎么更改文本颜色,android更改文件中的文本颜色

我有一个微调器,在某些情况下,某些选项不可选择.我有代码使项目不可选择,但它不灰色文本颜色,以指定该项目是不可选择的.如何更改应该禁用的微调框中的项目的文本颜色?这是代码:

public class main extends Activity {

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

PatchedSpinner pSpinner = (PatchedSpinner) findViewById(R.id.spinner2);

ArrayList testarray = new ArrayList();

testarray.add("item0");

testarray.add("item1");

testarray.add("item2");

testarray.add("item3");

ArrayAdapter spinnerAdapter = new ArrayAdapter(this,

android.R.layout.simple_spinner_dropdown_item, testarray) {

@Override

public boolean isEnabled(int position) {

return position != 1;

}

public boolean areAllItemsEnabled() {

return false;

}

};

pSpinner.setAdapter(spinnerAdapter);

}

以下是用于创建可以禁用微调框中某些项目的微调框的自定义微调框类.

public class PatchedSpinner extends Spinner {

public PatchedSpinner(Context context, AttributeSet attrs, int defStyle) {

super(context, attrs, defStyle);

}

public PatchedSpinner(Context context) {

super(context);

}

public PatchedSpinner(Context context, AttributeSet attrs) {

super(context, attrs);

}

@Override

public boolean performClick() {

// this line removed, we do not want to delegate the click to the spinner.

// boolean handled = super.performClick();

Context context = getContext();

final DropDownAdapter adapter = new DropDownAdapter(getAdapter());

CharSequence mPrompt = getPrompt();

AlertDialog.Builder builder = new AlertDialog.Builder(context);

if (mPrompt != null) {

builder.setTitle(mPrompt);

}

builder.setSingleChoiceItems(adapter, getSelectedItemPosition(), this).show();

return true;

}

private static class DropDownAdapter implements ListAdapter, SpinnerAdapter {

private SpinnerAdapter mAdapter;

public DropDownAdapter(SpinnerAdapter adapter) {

mAdapter = adapter;

}

public int getCount() {

return mAdapter == null ? 0 : mAdapter.getCount();

}

public Object getItem(int position) {

return mAdapter == null ? null : mAdapter.getItem(position);

}

public long getItemId(int position) {

return mAdapter == null ? -1 : mAdapter.getItemId(position);

}

public View getView(int position, View convertView, ViewGroup parent) {

return getDropDownView(position, convertView, parent);

}

public View getDropDownView(int position, View convertView,ViewGroup parent) {

if (mAdapter == null) {

return null;

}

mAdapter.getDropDownView(position, convertView, parent);

}

public boolean hasStableIds() {

return mAdapter != null && mAdapter.hasStableIds();

}

public void registerDataSetObserver(DataSetObserver observer){

if (mAdapter != null) {

mAdapter.registerDataSetObserver(observer);

}

}

public void unregisterDataSetObserver(DataSetObserver observer) {

if (mAdapter != null) {

mAdapter.unregisterDataSetObserver(observer);

}

}

// PATCHED

public boolean areAllItemsEnabled() {

if (mAdapter instanceof BaseAdapter) {

return ((BaseAdapter) mAdapter).areAllItemsEnabled();

} else {

return true;

}

}

// PATCHED

public boolean isEnabled(int position) {

if (mAdapter instanceof BaseAdapter) {

return ((BaseAdapter) mAdapter).isEnabled(position);

} else {

return true;

}

}

public int getItemViewType(int position) {

return 0;

}

public int getViewTypeCount() {

return 1;

}

public boolean isEmpty() {

return getCount() == 0;

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值