【发布时间】:2021-07-02 06:23:18
【问题描述】:
我的活动中有一个CardView,它有一个关闭按钮。当我单击关闭按钮时,CardView 会关闭,但是当我回到活动时,CardView 会再次显示。
我希望 CardView 在我退出或关闭应用程序之前不显示。
activity_detail.xml
<androidx.cardview.widget.CardView
android:id="@+id/cardview_ad"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="0.25"
app:cardCornerRadius="12dp"
app:cardElevation="4dp"
app:cardPreventCornerOverlap="true"
app:cardUseCompatPadding="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="end"
android:orientation="horizontal"
android:paddingHorizontal="9dp"
android:paddingVertical="6dp">
<TextView
android:id="@+id/textview_ad_icon"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:fontFamily="@font/fa_solid"
android:padding="3dp"
android:paddingStart="4dp"
android:paddingEnd="0dp"
android:text="@string/fa_bullhorn_ad"
android:textColor="#636363"
android:textSize="19sp" />
<TextView
android:id="@+id/textview_ads"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="9"
android:fontFamily="@font/google_sans"
android:padding="3dp"
android:paddingStart="1dp"
android:paddingEnd="4dp"
android:text="Ads"
android:textColor="#636363"
android:textSize="18sp" />
<TextView
android:id="@+id/textview_btn_close_ad"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="?attr/selectableItemBackgroundBorderless"
android:clickable="true"
android:focusable="true"
android:fontFamily="@font/fa_solid"
android:gravity="end"
android:padding="2dp"
android:text="@string/fa_times_circle_close"
android:textColor="#79636363"
android:textSize="28sp" />
</LinearLayout>
<View
android:id="@+id/divider_ad"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginTop="44dp"
android:background="?android:attr/listDivider" />
</androidx.cardview.widget.CardView>
DetailActivity.java
public class DetailActivity extends AppCompatActivity {
TextView textViewBtnCloseAd;
CardView cardViewAd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_detail);
// view reference
textViewBtnCloseAd = findViewById(R.id.textview_btn_close_ad);
cardViewAd = findViewById(R.id.cardview_ad);
// close the ad panel
textViewBtnCloseAd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
cardViewAd.setVisibility(View.GONE);
}
});
}
}
非常感谢您的帮助。
谢谢!
【问题讨论】:
标签: java android android-cardview