如何在android中获取特定行的表列值

时间:2017-04-25 06:29:54

标签: android tablelayout

这是我在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");
    }
});

1 个答案:

答案 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行表中第二列的值