0
- Элемент списка
я хочу назвать фрагмент на imageItem нажмите getSupportFragmentManger не может вызвать Гера и когда передать его в конструктор адаптера также может не работатьфрагмент вызова от recyclerView адаптера
общественного класса MarketOneRecyclerAdapter расширяет RecyclerView.Adapter {
public interface OnItemClickListener {
void onItemClick(ArrayList< MarketItems> item, int Pos);
}
private final OnItemClickListener listener;
private ArrayList<MarketItems>marketArrayList;
private Context context;
public MarketOneRecyclerAdapter(Context context, ArrayList<MarketItems> marketArrayList, OnItemClickListener listener) {
this.listener = listener;
this.context = context;
this.marketArrayList = marketArrayList;
}
@Override
public MainViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.market_item, parent, false);
return new MarketOneRecyclerAdapter.MainViewHolder(view);
}
@Override
public void onBindViewHolder(MainViewHolder holder, int position) {
holder.bind(marketArrayList,listener,position);
}
@Override
public int getItemCount() {
return marketArrayList.size();
}
public class MainViewHolder extends RecyclerView.ViewHolder{
ImageView imageItem;
CardView cardView;
public MainViewHolder(View itemView) {
super(itemView);
cardView= (CardView) itemView.findViewById(R.id.market_card_view);
imageItem= (ImageView) itemView.findViewById(R.id.market_item_imageView);
imageItem.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//Want here call a fragment
}
});
}
public void bind(final ArrayList<MarketItems> item, final OnItemClickListener listener , final int i){
Picasso.with(context).load(marketArrayList.get(i).getImages()).networkPolicy(NetworkPolicy.OFFLINE).into(imageItem);
imageItem.setTag(item.get(i).getImages());
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
listener.onItemClick(item,i);
`enter code here` }
});
}
}
}
общественный класс ImageItemFragment extends Fragment { ImageView imageView; Держатель
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view =inflater.inflate(R.layout.fragment_image_item, container, false);
imageView= (ImageView) view.findViewById(R.id.market_item_image);
//Picasso.with(getActivity()).load(marketItems.getImages()).networkPolicy(NetworkPolicy.OFFLINE).into(imageView);
return view;
}
}
Смотрите принятый ответ на этот пост: [получая FragmentManager от контекста] (http://stackoverflow.com/questions/10689997/ fragmentmanager-from-context) – Sevastyan
создать публичную пустоту из вашей активности, чтобы вызвать фрагмент, а затем использовать в контексте адаптера '((YourActivity)) .callFragmentMethod()' –
или вы можете опубликовать, как вы называете фрагмент из активности? –