Я пытаюсь получить детское представление по положению. Я мог бы получить представление, когда один элемент щелкнул:Как получить дочерний вид из RecyclerView?
rvSellRecords.addOnItemTouchListener(new RecyclerItemClickListener(getActivity(), new RecyclerItemClickListener.OnItemClickListener() {
@Override
public void onItemClick(View view, int position) {
((MainActivity) getActivity()).showSellRecordFragment(position, view);
}
}));
Теперь я не могу получить вид ребенка, без щелчка - скажем, на позиции, например:
rvSellRecords.someMagicalMethodWhichReturnsViewByPosition(5);
Вопрос: Как получить вид ребенка от RecyclerView?
редактирования.К BOUNTY:
RecyclerView
У меня есть, чтобы показать список продуктов. Когда я нажимаю на нее, я добавляю новый фрагмент, где я показываю информацию о продукте. В то время как открытие Я обновляю панель с видом из RecyclerView
- это прекрасно работает:
rvSellRecords.addOnItemTouchListener(new RecyclerItemClickListener(getContext(), new RecyclerItemClickListener.OnItemClickListener() {
@Override
public void onItemClick(View view, int position) {
sellPresenter.onSellRecordSelected(position, view);
}
}));
When I click blue button with "+", I am incrementing quantity by 1.
public void onIncrementButtonClicked(){
sellRecord.setCount(sellRecord.getCount() + 1);
showQuantity();
bus.post(new SellRecordChangedEvent(sellRecord, sellRecordPosition));
}
Then I am posting updated sellRecord to first fragment using EventBus. There I am updating list data. I supposed that updating value(sell) automatically updates adapter. Now I am getting view from adapter using custom method(getView) which was created by me(you can find it below).
@Subscribe
public void onEvent(SellRecordChangedEvent event){
sell.getSellRecords().set(event.getSellRecordPosition(), event.getSellRecord());
sell.recalculate();
int position = event.getSellRecordPosition();
View view = adapter.getView(position);
bus.post(new TransactionTitleChangedEvent(null, view));
}
This is my adapter class - I changed adapter little bit to collect view in list and added method which returns view for respective position:
public class SellRecordsAdapter extends RecyclerView.Adapter<SellRecordsAdapter.ViewHolder> {
.....
.....
.....
List<View> viewList;
public SellRecordsAdapter(List<SellRecord> sellRecordList) {
.....
viewList = new ArrayList<>();
}
.....
.....
.....
@Override
public void onBindViewHolder(ViewHolder viewHolder, int i) {
.....
.....
.....
viewList.add(i, viewHolder.itemView);
}
public View getView(int position){
return viewList.get(position);
}
}
Моя проблема: когда я обновляя представление в панели инструментов, я старею вид. Когда количество равно 3, я получаю представление с 2. Когда количество 10 - вид с 9.
Мой вопрос: как получить представление из вида recycler с использованием позиции позиции (без прослушивателя кликов)?
Почему вы меня минуете? –
U хотите получить просмотр ребенка без щелчка ?? – Manishika
Да, я хочу получить представление без нажатия - используя позицию –