Есть ListFragment в котором с помощью адаптера формируется сложный ListView с кнопками.
Необходимо на эти кнопки(элементы Item ListView ) повесить обработчик нажатий таким образом чтобы я мог пересобрать весь список исходя из измененного элемента в строке списка, и вывести его - уже измененный список в этот же ListFragment.
В просторах стека поголовно варианты привязывать обработчик нажатия в функции getView класса Adapter. Это все работает но как пересобрать список из адаптера не понятно, возможно для этого нужно иное решение. Может можно обрабатывать клики в самом классе фрагмента, тогда все вопросы отпадут.
То что есть сейчас:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_form_schedule, null);
String test = "0%4#09%00%18%00%13%00%14%00;5%5#09%00%17%00%13%00%14%00";
adapter = new ScheduleAdapter(getActivity(), test.split(";"));
ListView listView = (ListView)view.findViewById(android.R.id.list);
View footerView = inflater.inflate(R.layout.item_change_schelude, null);
listView.setAdapter(adapter);
....
public class ScheduleAdapter extends ArrayAdapter<String> {
String scheduleCodedString;
public ScheduleAdapter(Context context, String[] periodsScheduleCodedString) {
super(context, 0, periodsScheduleCodedString);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = LayoutInflater.from(getContext()).inflate(R.layout.item_change_schelude, parent, false);
}
ToggleButton bt = (ToggleButton) convertView.findViewWithTag("weekDay0");
bt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//во время этого события мне нужно зареплейсить элементы списка на актуальные.
Log.i("Test", v.getTag().toString());
}
});
.....