我試圖從我的適配器中獲取一些數據以取得成功。我在我的主要活動功能獲得一些項目的位置,並需要從這個項目的項目名稱。我可以想出如何實現這一點。如果有人能幫我解決問題,我會很高興。從我的主要活動將數據從適配器返回到功能
功能 -
public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
int position = viewHolder.getAdapterPosition();
if (direction == ItemTouchHelper.LEFT) {
Log.e(TAG, RecyclerAdapter.getIdFromPosition(position)); // Here what I try to do but to achieve that the getIdFromPosition
function need to be static and I can do this function to be static
} else {
Log.e(TAG,"Right");
}
}
適配器功能 -
public class RecyclerAdapter extends RecyclerView.Adapter<RecyclerAdapter.ViewHolder> {
List<Task> data= Collections.emptyList();
public RecyclerAdapter(MainActivity mainActivity, List<Task> data) {
this.data = data;
}
@Override
public RecyclerAdapter.ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.item_list, viewGroup, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
Task current = data.get(position);
//holder.tv1.setText(name[position]);
ViewHolder.tv2.setText(current.data);
if(current.sync != "null"){
holder.tv1.setText("A");
}
holder.imageView.setTag(holder);
}
@Override
public int getItemCount() {
return data.size();
}
public void getIdFromPosition(int position){
Log.e(TAG, data.get(position).getId());
}
public static class ViewHolder extends RecyclerView.ViewHolder{
public TextView tv1;
public static TextView tv2;
public ImageView imageView;
public ViewHolder(View view) {
super(view);
tv1 = (TextView) view.findViewById(R.id.list_title);
tv2 = (TextView)view.findViewById(R.id.list_desc);
imageView = (ImageView) view.findViewById(R.id.list_avatar);
view.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) {
//Log.e("test","test");
}
});
}
}
可能的重複[如何將Onclick監聽器添加到回收站v (https://stackoverflow.com/questions/44151979/how-to-add-onclick-listener-to-recycler-view) –
你可以在SO上的許多帖子中找到這個問題的答案。例如:[Recycler onClick](https://stackoverflow.com/questions/24471109/recyclerview-onclick) 和[here](https://stackoverflow.com/questions/44151979/how-to-add-onclick- listener-to-recycler-view) –
@sam_c問題不在於onClick,問題在於需要獲取Adapter參數的onSwiped函數。 – 0day