Обратный вызов интерфейса после запуска - PullRequest
0 голосов
/ 20 сентября 2018

У меня есть фрагмент, который содержит обзор переработчика и продукты внутри него.При щелчке строки открывается новое действие (SuggestionActivity).Эта деятельность также содержит обзор переработчика предлагаемых продуктов.Когда я нажимаю эту продукцию, выбирая или отменяя выборПод кнопкой просмотрщик у меня есть кнопка, и при нажатии на эту кнопку должен быть прослушан первый переходник просмотра и оповещения о данных.

Пример: ProductsFragment -> RecyclerAdapter -> Нажмите Row -> Open Activity -> Щелкните по одной или нескольким строкам и выберите -> Click Button -> Закрыть действие и уведомить адаптер фрагмента


Мой первый обзор переработчика внутри фрагмента

public class MyView extends RecyclerView.ViewHolder {

        public MyView(View view) {
            super(view);

            view.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {

                    SuggestionActivity x = new SuggestionActivity();
                    x.setTab2AdapterListener(new SuggestionActivity.Tab2AdapterListener() {
                        @Override
                        public void interfaceClicked() {
                            Log.d("interfaceClicked", "interfaceClicked"); // This line doesn't work!
                        }
                    });


                    Intent i = new Intent(mContext, SuggestionActivity.class);
                    i.putExtra("first", String.valueOf(tag));
                    i.putExtra("second", String.valueOf(getAdapterPosition()));
                    mContext.startActivity(i);
                }
            });
        }
    }

Мой интерфейс определен на SuggestionActivity

private Tab2AdapterListener tab2AdapterListener;
public interface Tab2AdapterListener {
    void interfaceClicked();
}
public void setTab2AdapterListener(Tab2AdapterListener tab2AdapterListener) {
    this.tab2AdapterListener = tab2AdapterListener;
}

И кнопка внутри SuggestionActivity

btnSendSuggestions.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                String suggested = "";
                for (int i = 0; i < suggestedProductsList.size(); i++) {
                    if (suggestedProductsList.get(i).getIsSelected())
                        suggested += suggestedProductsList.get(i).getProductId() + ",";
                }
                if ( suggested.length() > 0 ) {
                    suggested = suggested.substring(0, suggested.length() - 1);
                }

                if (tab2AdapterListener != null)
                    tab2AdapterListener.interfaceClicked();
                 // tab2AdapterListener comes null
            }
        });
...