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 に答える