我正在使用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")
。
答案 0 :(得分:0)
经过一些测试,我意识到我可以使用
RelativeLayout myRelativeLayout = (RelativeLayout) viewStubCommission.inflate();
然后设置标记或ID
myRelativeLayout.setTag("MyTag");