0

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

例如,我在第 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);
    }
4

1 回答 1

0

谨防程序员在盯着代码看太久时可能犯的愚蠢错误。

    if(pageCount == lastPageCount++)

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

因此运行错误的代码。

于 2012-06-13T23:05:44.600 回答