这是我在回收站视图中使用的行项目:
<RelativeLayout
android:id="@+id/requestCard"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="16sp"
android:paddingBottom="16sp"
android:background="?android:attr/selectableItemBackground"
android:descendantFocusability="blocksDescendants"
android:clickable="true">
<!--<de.hdodenhof.circleimageview.CircleImageView-->
<!--android:id="@+id/avatar"-->
<!--android:layout_width="@dimen/list_item_avatar_size"-->
<!--android:layout_height="@dimen/list_item_avatar_size"-->
<!--android:layout_marginRight="16dp"/>-->
<TextView
android:id="@+id/test"
android:text="testing ripple"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?attr/textAppearanceListItem"/>
</RelativeLayout>
以编程方式实现另一个实现
int mBackground;
private final TypedValue mTypedValue = new TypedValue();
public ItemAdapter(Context context, ListFunctionHolder.onListFunctionItemListener listFunctionItemListener, ArrayList<ContactModel> models) {
layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
mContext = context;
context.getTheme().resolveAttribute(R.attr.selectableItemBackground, mTypedValue, true);
itemListener = listFunctionItemListener;
contactModels = models;
mBackground = mTypedValue.resourceId;
}
@Override
public ConversationHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = layoutInflater.inflate(R.layout.zr_people_item_zone_has_image, parent, false);
return new ConversationHolder(this, view, viewType, itemListener);
}
我正在使用appCompact风格:
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
这些是关于如何从SO中的不同线程解决此问题的一些建议,并且在我的回收站视图上单击项目时仍然没有反馈。如何获得回收者视图的反馈。
ZoneContactLoaderAdapter zoneContactLoaderAdapter;
public ConversationHolder(ZoneContactLoaderAdapter zoneContactLoaderAdapter, View itemView, int viewType, ListFunctionHolder.onListFunctionItemListener onListFunctionItemListener) {
super(itemView);
// do some stuff
listener = onListFunctionItemListener;
itemView.setOnClickListener(this);
this.zoneContactLoaderAdapter = zoneContactLoaderAdapter;
@Override
public void onClick (View v){
zoneContactLoaderAdapter.notifyItemChanged(this.getLayoutPosition());
// listener.onSelected(v, this.getLayoutPosition());
}
}