如何解决如何在Spinner Android中删除特定文本?
我想在Spinner中删除特定的文本,我的代码看起来像下面的代码
packSpinner = findViewById(R.id.packSpinner);
String spinnerArray[] = new String[10];
for(int i=0; i<8; i++){
spinnerArray[i] = packArray[i] + mrpArray[i] + sellingPriceArray[i];
}
packSpinner.setAdapter(new ArrayAdapter<String>(getActivity(),android.R.layout.simple_list_item_1,spinnerArray));
在上述来自服务器的代码产品中,我已经将数据提取到packArray,mrpArray和sellingPriceArray中,现在我要删除mrp文本。
解决方法
您可以使用StrikethroughSpan
或仅设置textView.setPaintFlags(tv.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
,但是对于这两者,您都必须具有TextView
的访问权限,因此您无法通过默认ArrayAdapter
来达到目的,旨在显示没有自定义效果的简单列表(最常见的用法)。您必须扩展它并覆盖getView
方法。一些示例HERE,HERE和HERE
您可以使用
textview.setPaintFlags(Paint.STRIKE_THRU_TEXT_FLAG);
适配器的特定位置
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,R.layout.spinner_text,list) {
@Override
public boolean isEnabled(int position) {
if (position == 0) {
return false;
} else {
}
}
@Override
public View getDropDownView(int position,View convertView,ViewGroup parent) {
View view = super.getDropDownView(position,convertView,parent);
TextView textview = (TextView) view;
if (position == 0) {
textview.setPadding(0,0);
textview.setTextColor(ContextCompat.getColor(RegistrationActivity.this,R.color.textColor_gray));
textview.setPaintFlags(Paint.STRIKE_THRU_TEXT_FLAG);
} else {
textview.setPadding((int) getResources().getDimension(R.dimen.paddingformleft),(int) getResources().getDimension(R.dimen.paddingform),(int) getResources().getDimension(R.dimen.paddingform));
textview.setTextColor(ContextCompat.getColor(RegistrationActivity.this,R.color.dark_light_txtColor));
}
return view;
}
};
dataAdapter.setDropDownViewResource(R.layout.spinner_text);
spinner.setAdapter(dataAdapter);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。