这是我在for循环中的代码。我有10个项目,但我只能选择5行。其余的不可点击。请找一个解决方案。
final TableRow tablerow11 = (TableRow) table.getChildAt(i);
tablerow11.setClickable(true);
final TextView sample = (TextView) tablerow11.getChildAt(0);
Log.d("finalI", String.valueOf(i));
sample.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Log.d("LOG","clicked");
}
});
答案 0 :(得分:0)
我不确定你是否还需要答案,但这可能有所帮助。 目前尚不清楚是否要在单击时获取表列值,或者您是否只想循环遍历表中的所有行。
但如果是后者,这可能有所帮助。
//loop through table and get the Child count
for(int i =0,j = tblSomeTable.getChildCount(); i< j ;i++)
{
try {
//get Child views of the table with table.getChildAt(int index), this returns a view
//cast it to a TextView
View view = tblSomeTable.getChildAt(i);
TableRow r = (TableRow) view;
//in this row (row i) of the table get the child element(column) where the first column would have a value of 0
TextView getCatno = (TextView) r.getChildAt(1);
String CatNo = getCatno.getText().toString();
此代码基本上逐个循环遍历表中的所有项,然后获取特定行中表的子视图。然后在行中使用getChildAt,您可以获得该行的列值。此示例获取第i行表中第二列的值