リサイクラービューにはリスト内のいくつかのアイテムが含まれており、個々のアイテムにはボタンが含まれています。私はボタンをクリックして特定のアイテムをクリックして実行したいリサイクラービューアダプターを実装していますが、アダプターのボタンをクリックしてコードを実装したくないです。私は、recylcerビューのimpelementationを含むfragmenrでアクションを実行します。私はリサイクルビュー用のアダプタandroidのrecyclerviewでクリックリスナーを作る方法は?
public class ViewHolder extends RecyclerView.ViewHolder {
TextView m_premiumText, m_getDealText;
public ViewHolder(View itemView) {
super(itemView);
m_premiumText = (TextView) itemView.findViewById(R.id.tv_premiun_deals);
m_getDealText = (TextView) itemView.findViewById(R.id.tv_get_deals);
m_getDealText.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(mContext,"clicked"+getAdapterPosition(),Toast.LENGTH_LONG).show();
}
});
}
}
コードリスナーまたはコールバックを使用して、コンストラクタを通して、あなたのリサイクル・ビュー・アダプタに送信しなければならないこれらのケースで
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
mContext = getActivity();
main = inflater.inflate(R.layout.reward_premium_deals, container, false);
findViewById();
initControls();
return main;
}
public void findViewById() {
m_premiumList = (RecyclerView) main.findViewById(R.id.premium_list);
m_layoutManager = new LinearLayoutManager(mContext);
m_premiumList.setLayoutManager(m_layoutManager);
}
public void initControls() {
premiumNames = getResources().getStringArray(R.array.premium_deals_title);
m_premiumDealsAdapter = new CPremiumDealsAdapter(mContext, premiumNames);
m_premiumList.setAdapter(m_premiumDealsAdapter);
/*here i want button click action*/
}
すでにこのについての百万個のリソースがあります私の答えからカスタムinterface..check使ってこれを実装することができます。実装に関する特定の質問がある場合は、作成してください。 – Nabin
http://stackoverflow.com/questions/24885223/why-doesnt-recyclerview-have-onitemclicklistener-and-how-recyclerview-is-dif – Nabin
http://stackoverflow.com/questions/24471109/recyclerview-onclick – Nabin