更新布局后,layout.getchildat()函数不起作用

时间:2015-12-05 08:55:06

标签: android layout updates children

我有这样的代码:

protected void onActivityResult(int requestCode, int resultCode, Intent returnIntent) 
{
        super.onActivityResult(requestCode,resultCode, returnIntent);

        RelativeLayout layout2=(RelativeLayout)findViewById(R.id.RltLayout);
        Bundle extrasBundle = returnIntent.getExtras();

            String temp = extrasBundle.getString("FollowList");
            final int restSize;
            if(temp != null) {

                for(int i=0;i<count;i++)
                {
                    Button Bt=(Button) layout2.getChildAt(i) ;
                    CharSequence St= Bt.getText();
                    orders[i]=IndexOfLabel((String) St);
                }
                List<String> restList = Arrays.asList(temp.split(","));

                }
}

对于第一次,layout.getchildat()工作得很完美。当我更改布局和视图时,我得到以前的结果,但功能不起作用。 问题是什么以及如何解决它。

1 个答案:

答案 0 :(得分:0)

我解决了这个问题。实际上这是我的错,因为在重新安排视图之前我没有删除旧视图。通过添加以下代码并删除所有视图并重建布局,我解决了我的问题。

if(layout2.getChildCount() > 0) 
                        layout2.removeAllViews();