У меня есть фрагмент, который содержит обзор переработчика и продукты внутри него.При щелчке строки открывается новое действие (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
}
});