所选项目不会在微调器上显示

时间:2013-01-05 10:51:48

标签: java android android-spinner

我有一个微调器,我已经为微调器添加了一个自定义样式。问题是当我选择一个它没有显示在微调器上的项目但是当我使用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;

      }
    }

请有人告诉我这里是否有任何错误吗? 这是我选择项目时微调器的显示方式 enter image description here

2 个答案:

答案 0 :(得分:7)

我在这个问题上试了几天。实际上代码还不错。问题出在spinner.xml文件中。我在textview中添加了一个大填充。因此,尽管微调器工作,但它在微调器上看不到所选项。点是我忘了xml文件。 :d

答案 1 :(得分:0)

修改 layout spinner.xml 文件中的 padding 为较低的值, 例如:

<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" />