我在活動中實現RecyclerView與火力地堡 RecyclerAdapter,並希望得到onClickListener實現它,雖然我試圖做到這一點,但東西是不正確的在我的代碼我想,請幫助我找到什麼是錯誤的。我已經搜索了另一個問題,但沒有得到理解,並找不到解決我的問題。獲取onClickListener上RecyclerView與火力地堡中的Android
我使用過Android Studio
火力適配器類文件:
public class HomePage extends AppCompatActivity {
@Override
public void onStart() {
super.onStart();
FirebaseUser currentUser = mAuth.getCurrentUser();
if (currentUser == null) {
sentToStart();
}
FirebaseRecyclerAdapter<post, postViewHolder> firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<post, postViewHolder>(
post.class,
R.layout.post_row_recycle_home,
postViewHolder.class,
mDatabaseReference
) {
@Override
protected void populateViewHolder(postViewHolder viewHolder, post model, int position) {
viewHolder.setwebViewPost(model.getWebViewPost());
}
};
mrecyclerView.setAdapter(firebaseRecyclerAdapter);
}
public static class postViewHolder extends RecyclerViewPager.ViewHolder {
View mView;
public postViewHolder(View itemView) {
super(itemView);
mView = itemView;
mView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mClickListener.onItemClick(v, getAdapterPosition());
}
});
}
private postViewHolder.ClickListener mClickListener;
public interface ClickListener {
public void onItemClick(View view, int position);
}
public void setOnClickListener(postViewHolder.ClickListener clickListener) {
mClickListener = clickListener;
}
public void setwebViewPost(String webViewPost) {
WebView webView = (WebView) mView.findViewById(R.id.webView_news);
webView.loadUrl(webViewPost);
}
}
@Override
public postViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
postViewHolder viewHolder = super.onCreateViewHolder(parent, viewType);
viewHolder.setOnClickListener(new postViewHolder().ClickListener() {
@Override
public void onItemClick (View view,int position){
Toast.makeText(this, "Item clicked at " + position, Toast.LENGTH_SHORT).show();
}
});
return viewHolder;
}
so你的'onClick'方法(在'postViewHolder'構造函數中)不被調用或者是什麼? – pskink
請不要破壞你的帖子。通過在Stack Exchange網絡上發佈,您已授予SE無法撤銷的權利(根據[CC BY-SA 3.0許可證](https://creativecommons.org/licenses/by-sa/3.0))發佈該內容/))。通過SE政策,任何破壞行爲都將得到回覆。如果你想從你的賬戶中取消關聯這篇文章,請參閱[關於解除關聯請求的正確途徑?](https://meta.stackoverflow.com/q/323395) – adiga