У меня есть две кнопки в MainActivity, первая открывает настраиваемый фрагмент DialogFragment с некоторыми счетчиками, а другая - сбрасывает счетчики этого DialogFragment.
Когда я нажимаю кнопку сброса, он вызывает этот метод, который находится в DialogFragment:
public class FilterDialogFragment extends DialogFragment {
private View view;
// ...
@Nullable
@Override
public View onCreateView(@NotNull LayoutInflater inflater,
@Nullable ViewGroup container,
@Nullable Bundle savedInstanceState) {
view = inflater.inflate(R.layout.dialog_filters, container, false);
// start the spinners and adapters here
return view;
}
public void resetFilters() {
if (view != null) {
categorySpinner.setSelection(0);
productSpinner.setSelection(0);
priceSpinner.setSelection(0);
}
}
// some more codes here
}
Моя основная активность:
public class MainActivity extends AppCompatActivity {
private FilterDialogFragment filterDialog;
private Button button_clear;
private Button button_filter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button_clear = findViewById(R.id.button_clear);
button_filter = findViewById(R.id.button_filter);
filterDialog = new FilterDialogFragment();
button_filter.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Show the dialog containing filter options
filterDialog.show(getSupportFragmentManager(), FilterDialogFragment.TAG);
}
});
button_clear.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//reset all filters
filterDialog.resetFilters();
}
});
//some more codes here
}
//some more methods here
}
Но при нажатии кнопки, которая открывает DialogFragment, значения счетчиков остаются прежними, а не возвращаются данные позиции 0 каждого счетчика.
Кто-нибудь знает, как решить эту проблему? Я все перепробовал и не могу.