Android在充气后找到一个视图

时间:2017-01-24 13:40:25

标签: android

我正在使用ViewStubs以编程方式创建一些视图,如下所示。

RelativeLayout allCommissionsContainer = (RelativeLayout) mBaseLayout.findViewById(R.id.allCommissionsContainer);

        ViewStub viewStubCommission = new ViewStub(mActivity);

        viewStubCommission.setLayoutResource(R.layout.viewstub_commission_container);
        allCommissionsContainer.addView(viewStubCommission);

        viewStubCommission.inflate();

但是如何在代码后面找到膨胀的视图(RelativeLayout)?如果我使用viewStubCommission.setTag("MyTag");赢了,它会应用于实际的ViewStub而不是膨胀的视图?我尝试了这个,但它给了我一个null pointer exception

我需要allCommissionsContainer.findViewById(R.id.someId)allCommissionsContainer.findViewWithTag("MyTag")

1 个答案:

答案 0 :(得分:0)

经过一些测试,我意识到我可以使用

RelativeLayout myRelativeLayout = (RelativeLayout) viewStubCommission.inflate();

然后设置标记或ID

myRelativeLayout.setTag("MyTag");