У меня есть recylcerview в навигационном ящике, и я хочу найти, какая позиция была нажата пользователем в recyclerview в другом действии. То, как я написал код, всегда возвращает 0 в качестве позиции. Может кто-нибудь мне помочь. Заранее спасибо!Возврат позиции, занятой в recyclerview, в другой деятельности?
Recyclerview в судоходстве код ящика:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
final Bundle savedInstanceState) {
// Inflate the layout for this fragment
View layout = inflater.inflate(R.layout.fragment_navigation_drawer, container, false);
recyclerView = (RecyclerView) layout.findViewById(R.id.drawerList);
adapter = new NavigationDrawerFragmentAdapter(getActivity(), getData());
recyclerView.setAdapter(adapter);
recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
recyclerView.addOnItemTouchListener(new RecyclerTouchListener(getActivity(), recyclerView,new RecyclerViewClickListener() {
@Override
public void onClick(View view, int position) {
if (position == 0){
}
if (position == 27){
}
if (position == 28){
}
if (position == 29){
}
if (position ==30){
}
else{
test.getPositionClicked(position);
Intent i = new Intent(getActivity(), Test.class);
startActivity(i);
}
}
@Override
public void onLongClick(View view, int position) {
}
}));
return layout;
}
И мой код активности, где я хочу, чтобы найти позицию щелкнул:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
Toast.makeText(Test.this, "Toast is working " + pos, Toast.LENGTH_SHORT).show();
if (pos == 1){
Toast.makeText(Test.this, "Accounting", Toast.LENGTH_SHORT).show();
}
}
public void getPositionClicked(int position) {
position = pos;
}
Еще раз спасибо!
Идеальный ответ поблагодарить вас –