0

選択した RadioButton の値に基づいて入力される ListView があり、RadioButtons の OnClick イベントが ListView をトリガーして新しい値で更新します。

これはほとんど機能していますが、最初の RadioButton に ListView に表示する項目が 6 つあり、2 番目にクリックした RadioButton に表示する項目が 10 ある場合、ListView には 10 項目のうち最初の 6 項目が表示され、次に最初の 4 個のアイテムを、まるでアイテムをラッピングしているかのように。SimpleAdapterを使用して ListViewArrayList<HashMap<String, String>> listValuesにデータを入力していますが、listValues に 10 個の個別の値が含まれていることを確認しました。

アイテムを表示するコードは次のとおりです。

    ListView listview = (ListView)getView().findViewById(R.id.my_listview);

    SimpleAdapter simpleAdapt = 
            new SimpleAdapter(getView().getContext(), listValues, 
                               R.layout.my_listitem, 
                               null, null) {
        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            HashMap<String, String> listItem = listValues.get(position);

            View v = convertView;

            if (convertView == null) {
                LayoutInflater inflater = (LayoutInflater)parent.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);                
                v = inflater.inflate(R.layout.my_layout, null);

                TextView nameTextview =
                        (TextView)v.findViewById(R.id.my_textview);
                nameTextview.setText(listItem.get("name"));

                TextView detailTextview =
                        (TextView)v.findViewById(R.id.my_textview_2);
                detailTextview.setText(listItem.get("detail"));

                if (listItem.get("main_image") != null) {
                    int imageId = Integer.valueOf(listItem.get("main_image"));
                            (ImageView)v.findViewById(R.id.my_imageview);
                    image.setImageResource(imageId);
                }
            } 
            return v;
        };
    };

    listview.setAdapter(simpleAdapt);

リスト項目が繰り返される明らかな理由はありますか?

4

1 に答える 1