1

我有一个微调器,并为微调器添加了自定义样式。问题是当我选择一个项目时,它不会显示在微调器上,但是当我使用 android 微调器样式时,它会显示我在微调器上选择的内容。是否需要添加更多代码以使其正常工作?否则,微调器的一切工作。当在微调器中选择一个项目以显示文本时,我已经编写了该应用程序。这些东西有效。但它没有显示我选择的内容。

这是我的代码

MyAdapter  dataAdapter3 = new MyAdapter(this, R.layout.spinner, list3);
spinner1.setAdapter(dataAdapter3);

清单 3 指的是一个清单

List<String> list3 = new ArrayList<String>();

这是自定义微调器样式的类

public class MyAdapter extends ArrayAdapter<String>
    {
      private List<String> listString = new ArrayList<String>();

      public MyAdapter(Context context, int textViewResourceId, List<String> objects) {
        super(context, textViewResourceId, objects);

      this.listString  = objects;
      }

      @Override
      public View getDropDownView(int position, View convertView,ViewGroup parent) {
            return getCustomView(position, convertView, parent);
      }

      @Override
      public View getView(int position, View convertView, ViewGroup parent) {
            return getCustomView(position, convertView, parent);
      }

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

       LayoutInflater inflater=getLayoutInflater();
       View row=inflater.inflate(R.layout.spinner, parent, false);
       TextView label=(TextView)row.findViewById(R.id.textView1);
       label.setText(listString.get(position)); 

       return row;

      }
    }

请问有人能告诉我这里是否犯了任何错误吗?这是我选择项目时微调器的显示方式 在此处输入图像描述

4

2 回答 2

8

我在这个问题上尝试了几天。其实代码还不错。问题出在 spinner.xml 文件中。我在 textview 中添加了一个大的填充。因此,尽管微调器工作,但微调器上的选定项目不可见。重点是我忘记了 xml 文件。:D

于 2013-01-06T05:05:18.483 回答
0

将布局 spinner.xml 文件中的填充修改为较低的值,例如:

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="8dp"
android:textColor="#000000"
android:textSize="14sp" />
于 2021-04-05T16:12:06.143 回答