我对onSwiped方法存在很大问题,并将按钮的可见性设置为VISIBLE。这里是我的代码Java Class:
@Override
public void onSwiped(RecyclerView.ViewHolder viewHolder, int swipeDir) {
mRecyclerView.getAdapter();
StepListAdapter.ViewHolder listViewHolder = (StepListAdapter.ViewHolder) viewHolder;
listViewHolder.itemView.setBackgroundColor(mContext.getResources().getColor(R.color.accent));
listViewHolder.titleView.setVisibility(View.GONE);
listViewHolder.locationView.setVisibility(View.GONE);
listViewHolder.status.setVisibility(View.GONE);
listViewHolder.undoButton.setVisibility(View.VISIBLE);
listViewHolder.undoButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Do something
}
});
}
这是我的xml布局文件:
<android.support.v7.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/view"
android:layout_gravity="center"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="5sp"
android:layout_marginRight="5sp"
android:clickable="true"
android:foreground="?selectableItemBackground"
card_view:cardCornerRadius="1sp"
card_view:cardElevation="2sp"
card_view:cardUseCompatPadding="true"
card_view:contentPadding="5sp">
<RelativeLayout
android:background="@color/cardview_light_background"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/title_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="18sp"
android:singleLine="true"
android:ellipsize="end"
android:layout_gravity="center"
android:padding="5sp"
android:textStyle="bold"
android:textColor="@android:color/black"
android:text="@string/empty"/>
<TextView
android:id="@+id/location_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="16sp"
android:ellipsize="end"
android:layout_gravity="center"
android:padding="5sp"
android:textColor="@color/dark_grey"
android:layout_below="@id/step_title_text"
android:text="@string/empty"/>
<ImageView
android:id="@+id/status_image"
android:layout_width="26dp"
android:layout_height="26dp"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"/>
<Button
android:id="@+id/undo_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/undo"
android:textAllCaps="true"
android:visibility="gone"
android:textColor="@android:color/white"
android:layout_gravity="end|center_vertical"
android:layout_alignParentRight="true"
style="@style/Base.Widget.AppCompat.Button.Borderless"
/>
</RelativeLayout>
</android.support.v7.widget.CardView>
我的问题是,当调用onSwiped方法时,在我通过Java代码设置按钮的可见性之后,主卡不显示按钮。
非常感谢你们