2015-08-24 71 views
1

如何获取Telerik的RadListViewRecyclerView的物品视图; 例如:我想获得TextViewImageView包括的项目RadListViewRecyclerView如何获取物品的RecyclerView视图

在此之前,我可以通过getView()得到ListView,但现在我不能;

我已经找了很多文件,但没有想法。

以下是我的adapter代码。

public class ReminderAdapter extends ListViewAdapter { 

private List<Map<String, Object>> dataList; 
private Context mContext; 

public ReminderAdapter(List items, Context context) { 
    super(items); 
    this.dataList = items; 
    mContext = context; 
} 

@Override 
public ListViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { 
    View view = LayoutInflater.from(mContext). 
      inflate(R.layout.remind_custom_radlistview_item, parent, false); 
    return new ReminderViewHolder(view); 

} 

@Override 
public void onBindViewHolder(ListViewHolder holder, int position) { 
    super.onBindViewHolder(holder, position); 
    ReminderViewHolder reminderViewHolder = (ReminderViewHolder) holder; 
    reminderViewHolder.timeTextView.setText((String) dataList.get(position).get("time")); 
    reminderViewHolder.remainTextView.setText((String) dataList.get(position).get("remain")); 
    reminderViewHolder.selectImageView.setImageResource((Integer) dataList.get(position).get("pic")); 
    if (position == dataList.size() - 1) { 
     reminderViewHolder.mView.setVisibility(View.GONE); 
    } 

} 


class ReminderViewHolder extends ListViewHolder { 

    TextView timeTextView; 

    TextView remainTextView; 

    ImageView selectImageView; 

    View mView; 
    MaterialRippleLayout materialRippleLayout; 

    public ReminderViewHolder(View itemView) { 
     super(itemView); 
     timeTextView = (TextView) itemView.findViewById(R.id.custom_remind_list_timeTextView); 
     remainTextView = (TextView) itemView.findViewById(R.id.custom_remind_list_remainTextView); 
     selectImageView = (ImageView) itemView.findViewById(R.id.custom_remind_list_selectImage); 
     mView = (View) itemView.findViewById(R.id.custom_remind_list_horizontal_line); 
     materialRippleLayout = (MaterialRippleLayout) itemView.findViewById(R.id.acustom_remind_list_ripple_layout); 
    } 
} 
} 

回答

0

我有一个想法:

创造一个接口:

public interface RadListViewClickListener { 
    public void RadListViewClick(View v,int positon); 
} 

实现它以U活动或片段

public class RemindActivity extends AppCompatActivity 
    implements RadListViewClickListener{ 

    public void RadListViewClick(View v, int positon) { 


    } 
} 

以U适配器

public class ReminderAdapter extends ListViewAdapter { 

private List<Map<String, Object>> dataList; 
private Context mContext; 
private RadListViewClickListener mListener; 
public ReminderAdapter(List items, Context context,RadListViewClickListener listener) { 
    super(items); 
    this.dataList = items; 
    this.mContext = context; 
    this.mListener=listener; 
} 
    class ReminderViewHolder extends ListViewHolder implements View.OnClickListener { 

    TextView timeTextView; 

    TextView remainTextView; 

    ImageView selectImageView; 

    View mView; 

    public ReminderViewHolder(View itemView) { 
     super(itemView); 

     timeTextView = (TextView) itemView.findViewById(R.id.custom_remind_list_timeTextView); 
     remainTextView = (TextView) itemView.findViewById(R.id.custom_remind_list_remainTextView); 
     selectImageView = (ImageView) itemView.findViewById(R.id.custom_remind_list_selectImage); 
     mView = (View) itemView.findViewById(R.id.custom_remind_list_horizontal_line); 
     itemView.setOnclickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 

       mListener.RadListViewClick(itemView,getAdapterPosition()); 
      } 
     }); 
    } 

    @Override 
    public void onClick(View v) { 
     if(v instanceof MaterialRippleLayout){ 
      mListener.RadListViewClick(selectImageView,this.getPosition()); 
     } 
    } 
} 

这就是全部,任何人都有其他好的答案?我希望它。 TY!

相关问题