如何在 Spinner android 中删除特定文本?

How to strike specific text in 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 and

你可以使用

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,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), (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);