我创建了一个表格行并设置了它的ID。现在我想找到行,这样我就可以在其中放入一个片段。那我怎么能找到这一排呢?通常当我在xml中设置Id时,我可以通过R.id.tableRow1轻松找到该行。但是,因为我以编程方式设置它不起作用。 这是我的代码:
TableRow tr1 = new TableRow(myView.getContext());
tr1.setId(1);
ChildFragmentIntro cfi = new ChildFragmentIntro();
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.add(tr1.getId(), cfi); //This is where it goes wrong, tr1.getId()
transaction.commit();
我是以错误的方式设置id还是tr1.getId()检索它的错误方法?如果我用XML做,即在布局中创建一个表行,用通常的@ + id / xxx设置它的id,并使用transaction.add(R.id.xxx,cfi);比它工作正常。但现在我想以编程方式进行。
答案 0 :(得分:1)
您可以使用View.setId()为新生成的View设置ID。在API 17+上,您还可以使用View.generateViewId();
生成唯一ID另见:Android: View.setID(int id) programmatically - how to avoid ID conflicts?