android - 在 onBackPressed 中更改动态创建的布局的可见性

标签 android android-linearlayout android-view onbackpressed

我需要一个帮助,我动态创建了线性布局,我必须更改创建的线性布局的可见性。

我的努力显示:

for (int i=0;i<qty;i++) {
            final View view1 = LayoutInflater.from(BookingDetails.this).inflate(R.layout.dynamic_truck_item, null);
            view_visible.add(false);
            final LinearLayout view_dd=(LinearLayout)view1.findViewById(R.id.view_dd);
}

后退键:

@Override
    public void onBackPressed() {
        if (backPressedToExitOnce) {
            super.onBackPressed();

        } else {
            this.backPressedToExitOnce = true;

            // Here i have to set the visibility of created linear layout to VIEW.GONE

        }

    }

最佳答案

创建一个 ArrayList 来保存对 LienarLayouts 的所有引用

private ArrayList<View> collectionOfViews = new ArrayList();

展开布局时,将 View 添加到列表中:

for (int i=0;i<qty;i++) {
        final View view1 = LayoutInflater.from(BookingDetails.this).inflate(R.layout.dynamic_truck_item, null);
        view_visible.add(false);
        final LinearLayout view_dd=(LinearLayout)view1.findViewById(R.id.view_dd);
        collectionOfViews.add(view_dd);
}

然后在 onBackPressed 中使用以下方法设置可见性:

for(View view : collectionOfViews) {
    view.setVisibility(View.GONE);
}

关于android - 在 onBackPressed 中更改动态创建的布局的可见性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41241222/

相关文章:

android - 在动画之前隐藏 ImageView

android - 在 Kotlin 中切换可见性,isVisible Unresolved 引用

android - useOldManifestMerger 导致构建错误

java - 在微调器中选择长文本然后创建空间

java - 无法从 AsyncTask 填充 ListView

android - 如何截取Activity的内容,包括PopupWindows和AlertDialogs?

Android CardView cardCornerRadius 间隙

java - 如何将我的 Activity 背景设为白色?

android - LinearLayout 中的 ImageView

android - 一个视频 View 被另一个视频 View 遮挡