如何使用以编程方式设置的id

时间:2014-08-09 15:15:05

标签: android

我创建了一个表格行并设置了它的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);比它工作正常。但现在我想以编程方式进行。

1 个答案:

答案 0 :(得分:1)

您可以使用View.setId()为新生成的View设置ID。在API 17+上,您还可以使用View.generateViewId();

生成唯一ID

另见:Android: View.setID(int id) programmatically - how to avoid ID conflicts?