Android应用程序视图容器很粘

时间:2012-06-11 07:20:48

标签: android android-layout

我需要帮助,在使用下面的代码删除它们后,我的布局和容器仍然存在。

例如,我有第1页添加了一个小文本,解释了如何在审查中使用该程序的一部分,然后下一页允许用户添加一个名称,其中有一个带有文本名称的标签:和EditText在其旁边添加名称。

两个组件都“坚持”,但EditText被多次复制,我不明白为什么!我也想停止坚持。

通过坚持我只是意味着视图不会留下它应该的视图(仍然可见)。

这是一些代码。

        if(pageCount == lastPageCount--)
        {
            page2Layout.removeAllViews();
            //page2Layout.setVisibility(View.GONE);
            //Reset all text views.
            helpText.setText("");
        }

        helpText.setLayoutParams(params);
        helpText.setText("You cannot view this part sorry :S\n\n" + 
        "You cannot view this part sorry :S.\n" +
        "You cannot view this part sorry :S");
        page1Layout.addView(helpText);

        page1Layout.setVisibility(View.VISIBLE);
    }
    else if(pageNumber == 2)
    {
        if(pageCount == lastPageCount++)
        {
            //page1Layout.setVisibility(View.GONE);
            page1Layout.removeAllViews();
        }
        else if (pageCount == lastPageCount++)
        {
            page3Layout.setVisibility(View.GONE);
        }
        //Name Position + Containers etc
        LinearLayout nameLayout = new LinearLayout(this);
        nameLayout.setOrientation(LinearLayout.HORIZONTAL);
        nameLayout.setLayoutParams(params);
        TextView nameLabel = new TextView(this);
        nameLabel.setLayoutParams(params);
        nameLabel.setText("Name: ");
        EditText nameTextField = new EditText(this);
        nameTextField.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT));
        //All to name layout.
        nameLayout.addView(nameLabel);
        nameLayout.addView(nameTextField);
        page2Layout.addView(nameLayout); 
        page2Layout.setVisibility(View.VISIBLE);
    }

1 个答案:

答案 0 :(得分:0)

小心编码员在盯着代码时可能犯的愚蠢错误。

    if(pageCount == lastPageCount++)

对于同样被卡住的人,lastPageCount ++将在语句运行后递增lastPageCount。

因此运行了错误的代码。