選択した 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);
リスト項目が繰り返される明らかな理由はありますか?