フラグメント内にカスタム リストがあります。次に、フラグメントを別のリストに置き換えます。
以前のリスト (フラグメントの置換の結果として破棄された) に戻ったときに、リストの最後の状態 (チェックされたアイテムやスピナーで選択されたアイテムなど) を復元したい。onSaveInstanteState
リストの最後の状態を使用してそこに入れ、onActivityCreated
バンドルから取得する必要があることを私は知っています。問題は、リストが複雑で、Bean クラスと CustomAdapter があることです。以下のコードを使用できると思います。
(私は使用しましprivate List<NameBean> items;
た):
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
StringBuffer sb = new StringBuffer();
// Retrive Data from list
for (NameBean bean : items) {
/* bean gets the orders values from NamesAdapters and MainActivity.
But the orders like "isSelected" (value of a boolean which is defined here in upper block) or
"IsSelected" and "SetSelected" which gets and sets the value of the boolean "selected" in
NameBean.java (Setters and getters) in conditional (boolean) format (true or false).
We can access them in MainActivity and NamesAdapter */
if (bean.isSelected()) {
sb.append(bean.getName() + ": " + bean.getSpinnerItem());
sb.append("\n");
}
}
showAlertView(sb.toString().trim());
}
私の NameBean クラスは次のとおりです。
public class NameBean {
private String name;
private String spinnerItem;
private SpinnerAdapter spinnerAdapter;
private boolean selected;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public boolean isSelected() {
return selected;
}
public void setSelected(boolean selected) {
this.selected = selected;
}
public SpinnerAdapter getSpinnerAdapter() {
return spinnerAdapter;
}
public void setSpinnerAdapter(SpinnerAdapter spinnerAdapter) {
this.spinnerAdapter = spinnerAdapter;
}
public String getSpinnerItem() {
return spinnerItem;
}
public void setSpinnerItem(String spinnerItem) {
this.spinnerItem = spinnerItem;
}
}