是否可以在Android中将表格行转换为字符串?

时间:2015-09-23 16:28:29

标签: java android android-layout android-tablelayout

我正在开发我的第一个Android应用。我的应用程序中有一个表格布局,它将动态添加行。但是,我想将表行转换为字符串。我试过“row.toString()”,但我没有得到预期的结果。请找到以下代码段:

        View view = null;

        for(i = 0, j = tblayout.getChildCount(); i < j; i++)
        {
            view = tblayout.getChildAt(i);
            TableRow rw = (TableRow)tblayout.getChildAt(i);
            ColorDrawable viewColor = (ColorDrawable) view.getBackground();
            int colorId = viewColor.getColor();
            if(colorId == Color.parseColor("#E143ED23")) {
                num ++;
                //temCnt = view.toString();
                temCnt = rw.toString();
            }
       }
        Toast.makeText(getApplicationContext(),temCnt, Toast.LENGTH_LONG).show();

但它没有显示实际的表行数据。它显示了一些ID或垃圾值。

我的要求是: 我有2个文本框和2个按钮。按下第一个按钮“确定”时,文本框内的值将与一个复选框一起填充到表格布局中。默认情况下,将检查行。但是用户可以取消选中每个项目。之后,当按下第二个按钮“全部保存”时,它将搜索所有已检查的表行,并应将表行插入到我的MS SQL表中。

有没有办法将表行转换为Java中的字符串?我真的困在这。如果有人可以帮助我这将是非常有帮助的。 请帮忙......

1 个答案:

答案 0 :(得分:1)

toString()是Java,C#和其他编程语言中非常基本的方法。 Java的Object类有一个基本的实现,你可以在任何继承自Object的类(也就是每个类:)中覆盖这个方法。我不知道那些开发了TableRow类的Android是否已经覆盖了这个方法。可能你得到的是TableRow对象的一些不可读的,毫无意义的表示。

假设您在TableRow中有一个名为txtName的TextView,后跟第二个名为txtNumber的TextView。您可以通过执行以下操作获得所需内容:

...
ColorDrawable viewColor = (ColorDrawable) view.getBackground();
int colorId = viewColor.getColor();
if(colorId == Color.parseColor("#E143ED23")) {
    num ++;
    //temCnt = view.toString();
    TextView nameField = (TextView) rw.findViewById(R.id.txtName);
    TextView numberField = (TextView) rw.findViewById(R.id.txtNumber);
    temCnt = nameField.getText().toString() + ": " + numberField.getText().toString();
}
...