为微调器的选定项目设置外部字体 android

Setting external font for selected item of the spinner android

我已将文本视图设置为数组适配器,以便显示微调器的选定项。这是数组适配器的代码。

ArrayAdapter<CharSequence> adapterDitrict =  ArrayAdapter.createFromResource(this, R.array.district_array,
                    R.layout.spinner_item);
adapterDitrict.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerDitrict.setAdapter(adapterDitrict);`

`

这里R.layout.spinner_item是用来显示微调器选中项的文本框。请注意,此文本视图不在 activity 的布局中。现在我想将外部字体应用于此文本框。但是我无法使用 findviewbyid 获取对此文本视图的引用,因为它不在活动布局中。我正在使用 setTypeface 来设置外部字体。那么如何显示微调器的所选项目是使用外部字体的文本视图。请帮忙

您可以通过两种方式实现这一点,第一种是采用自定义适配器并管理您的视图,第二种是仅针对当前适配器覆盖您的 getView 方法。

自定义适配器的第一个选项如下所示 link

http://androidexample.com/Custom_Spinner_With_Image_And_Text_-_Android_Example/index.php?view=article_discription&aid=84&aaid=107

对于第二个选项,请查看下面的答案

  ArrayAdapter<CharSequence> adapterDitrict = ArrayAdapter
            .createFromResource(this, R.array.district_array,
                    R.layout.spinner_item)
  {
       @Override
       public View getView(int position, View convertView, ViewGroup parent) 
       {

            View v = super.getView(position, convertView, parent);
            ((TextView) v).setTypeFace(Your Tyope Face);
            return v;
       }
  };

检查两个答案并根据您的要求使用任何一个。