0
ここに私のコードがあります。なぜなら、ArrayAdapterを継承しているCustomAdapterのメソッドを追加または削除するときはいつも、データが常に削除される理由がわかりません。どのようにListViewの要素を追加または削除するときにListViewによるデータの削除を防止できますか?
public class SetFragment extends Fragment {
private CustomAdapter listAdapter = null;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.set_fragment , container , false);
List<String> num_set= new ArrayList<>();
num_set.add("Set1");
listAdapter = new CustomAdapter(getActivity(), num_set);
ListView listView = (ListView)view.findViewById(R.id.setListView);
listView.setAdapter(listAdapter);
listView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
listAdapter.remove(listAdapter.getItem(position));
listAdapter.notifyDataSetChanged();
return false;
}
});
return view;
}
public void addListData(String entry) {
int numsets = listAdapter.getCount()+1;
listAdapter.add(entry+numsets);
}
}
public class CustomAdapter extends ArrayAdapter<String> {
public CustomAdapter(Context context, List<String> num_set) {
super(context, R.layout.custom_row_for_set ,num_set);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater buclysInflater = LayoutInflater.from(getContext());
View CustomView = buclysInflater.inflate(R.layout.custom_row_for_set ,parent , false);
String setNum = getItem(position);
TextView setText = (TextView)CustomView.findViewById(R.id.setTExtView);
setText.setText(setNum);
return CustomView;
}
}
私は追加設定]ボタンをクリックすると、データがちょうどaway.Iがそれを維持したい行きます。 どうすればいいですか? 添付写真を見ることができます。
データを保存したい場合は、SQLiteを使用することを検討してください。 –
ええ、それをしようとする@ – RegJo