Android CardView单击状态不工作
我想在用户点击任何一项时更改卡片项的颜色,但什么也没有发生。。为什么?Android CardView单击状态不工作,android,material-design,android-cardview,Android,Material Design,Android Cardview,我想在用户点击任何一项时更改卡片项的颜色,但什么也没有发生。。为什么? <android.support.v7.widget.CardView android:layout_width="fill_parent" android:layout_height="wrap_content" card_view:cardCornerRadius="3dp" android:layout_marginTop="9dp" android:layout_marg
<android.support.v7.widget.CardView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
card_view:cardCornerRadius="3dp"
android:layout_marginTop="9dp"
android:layout_marginLeft="9dp"
android:layout_marginRight="9dp"
card_view:cardElevation="0.01dp"
android:layout_marginBottom="0dp"
android:foreground="@drawable/card_foreground">
请尝试此
添加android:clickable=“true”和android:focusable=“true”
和
将android:前台更改为android:前台=“?android:selectableItemBackground”
在Recylerview.Adapter类中,使用以下代码
?android:attr/selectableItemBackground
如果在棒棒糖上,在棒棒糖前声明一个选择器,请使用此选项而不是前台。为什么这个问题已结束?感谢您提供此代码片段,它可能会提供一些有限的即时帮助。通过展示为什么这是一个很好的问题解决方案,A将极大地提高它的长期价值,并将使它对未来有其他类似问题的读者更有用。请在您的回答中添加一些解释,包括您所做的假设。
<android.support.v7.widget.CardView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
card_view:cardCornerRadius="3dp"
android:layout_marginTop="9dp"
android:layout_marginLeft="9dp"
android:layout_marginRight="9dp"
card_view:cardElevation="0.01dp"
android:layout_marginBottom="0dp"
android:clickable="true"
android:focusable="true"
android:foreground="?android:selectableItemBackground" >
</android.support.v7.widget.CardView>
@Override
public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
LayoutInflater inflater = LayoutInflater.from(applicationContext);
final View view = inflater.inflate(R.layout.additem, null);
view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int itemPosition = recyclerview.getChildPosition(view);
String item = list.get(itemPosition);
Toast.makeText(applicationContext, item, Toast.LENGTH_LONG).show();
}
});
return new ViewHolder(view);
}