2011-12-17 52 views
2

我正在创建一个动态TableLayout和TableRows其中包含像ImageView,TextView.I我使用setId()方法他们的id。如何为Android中的视图分配动态ID?

为ID我使用int变量并加一,以将其分配作为视图id和还存储在一个int数组或list.And后者我使用数组或列表,以确定它们中的事件处理程序。

我只是想知道是不是正确的方式(或problmatic)分配ID这样或有没有更好的办法。

为如

变量

final int CHECK_BUTTON_ID = 982301; 
int ids_check[]; 

在循环创建视图和集ID。

Button btn_check = new Button(this); 
int id = i + CHECK_BUTTON_ID; 
btn_check.setId(id); 
ids_check[i] = id; 
+1

它会工作,除非你有删除一些动态创建的表行 – 2011-12-17 06:03:21

回答

0

如果你看一下是那些获得通过Android的资源编译器生成的ID,你会看到他们都0x7f000000或更高。 (只需突出显示在Eclipse中任何R.id.id_name,按F3看到自己。)

所以,如果你使用动态视图生成的ID,只用一个较低的范围比,你应该罚款。