Я хочу отправить 0/1 моему адаптеру из моей деятельности. Это мой код:
OnActivityButtonClickedListener:
public interface OnActivityButtonClickedListener {
public void OnActivityButtonClicked(int id);
}
Основная активность:
public class MainActivity extends AppCompatActivity{
private TabLayout mainTabLayout;
private ViewPager mainViewPager;
private OnActivityButtonClickedListener mListener = sDummyCallbacks;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mainTabLayout = findViewById(R.id.MainTabLayout);
mainViewPager = findViewById(R.id.MainViewPager);
MainViewPagerAdapter adapter = new MainViewPagerAdapter(this, getSupportFragmentManager());
mainViewPager.setAdapter(adapter);
MainActionModeSelectAll = findViewById(R.id.MainActionModeSelectAll);
MainActionModeCancel = findViewById(R.id.MainActionModeCancel);
MainActionModeSelectAll.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mListener.OnActivityButtonClicked(0);
Toast.makeText(getBaseContext(), "mListener got 0", Toast.LENGTH_SHORT).show();
}
});
MainActionModeCancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mListener.OnActivityButtonClicked(1);
Toast.makeText(getBaseContext(), "mListener got 1", Toast.LENGTH_SHORT).show();
}
});
}
private static OnActivityButtonClickedListener sDummyCallbacks = new OnActivityButtonClickedListener() {
@Override
public void OnActivityButtonClicked(int id) {
}
};
}
Адаптер:
public class Adapter extends RecyclerView.Adapter<Adapter.ViewHolder> implements OnActivityButtonClickedListener {
@Override
public void OnActivityButtonClicked(int id) {
switch (id) {
case 0:
Toast.makeText(mContext, "0" ,Toast.LENGTH_LONG).show();
//do something
break;
case 1:
Toast.makeText(mContext, "1" ,Toast.LENGTH_LONG).show();
//do something else
break;
}
}
}
Адаптер находится внутри фрагмента внутренняя деятельность. Я могу видеть тосты на активности, но тосты на адаптере не отображаются. есть идеи в чем проблема?