Android 从包含许多TextView的动态创建的表行获取数据

Android 从包含许多TextView的动态创建的表行获取数据,android,Android,我动态创建了一个表行,其中包含三个textview。现在我想在单击表行(tr)时获取三个textview的值。这意味着我想获取companyTV、valueTV和YearTV的值。 谢谢 for(int i=0;i

我动态创建了一个表行,其中包含三个textview。现在我想在单击表行(tr)时获取三个textview的值。这意味着我想获取companyTV、valueTV和YearTV的值。 谢谢

for(int i=0;i
首先,在创建表格行之前设置表格行的背景时,代码中有一个错误。应首先创建新表行,然后设置其背景:

for (int i = 0; i < match.length; i++) {
    /** Create a TableRow dynamically **/
    tr = new TableRow(this);
    tr.setBackground(getResources().getDrawable(R.drawable.tv_bg));
如果要跟踪当前选定的表行,可以为“活动”创建全局变量

TableRow selectedTR;
然后在
OnClickListener

        tr.setOnClickListener(new View.OnClickListener()
        {
            @Override
            public void onClick(View v)
            {
                TableRow tr = (TableRow)v;
                TextView companyTV, valueTV, yearTV;
                String company, value, year;
                companyTV = (TextView) tr.getChildAt(0);
                valueTV = (TextView) tr.getChildAt(1);
                yearTV = (TextView) tr.getChildAt(2);
                company = companyTV.getText().toString();
                value = valueTV.getText().toString();
                year = yearTV.getText().toString();
            }
        });
selectedTR = (TableRow)v;

使用该
selectedTR
变量时,请确保检查该变量是否为空值,以防尚未进行选择。

首先,在创建表格行之前设置表格行的背景时,代码中有一个错误。应首先创建新表行,然后设置其背景:

for (int i = 0; i < match.length; i++) {
    /** Create a TableRow dynamically **/
    tr = new TableRow(this);
    tr.setBackground(getResources().getDrawable(R.drawable.tv_bg));
如果要跟踪当前选定的表行,可以为“活动”创建全局变量

TableRow selectedTR;
然后在
OnClickListener

        tr.setOnClickListener(new View.OnClickListener()
        {
            @Override
            public void onClick(View v)
            {
                TableRow tr = (TableRow)v;
                TextView companyTV, valueTV, yearTV;
                String company, value, year;
                companyTV = (TextView) tr.getChildAt(0);
                valueTV = (TextView) tr.getChildAt(1);
                yearTV = (TextView) tr.getChildAt(2);
                company = companyTV.getText().toString();
                value = valueTV.getText().toString();
                year = yearTV.getText().toString();
            }
        });
selectedTR = (TableRow)v;

使用该
selectedTR
变量时,请确保检查该变量是否为空值,以防尚未进行选择。

首先,在创建表格行之前设置表格行的背景时,代码中有一个错误。应首先创建新表行,然后设置其背景:

for (int i = 0; i < match.length; i++) {
    /** Create a TableRow dynamically **/
    tr = new TableRow(this);
    tr.setBackground(getResources().getDrawable(R.drawable.tv_bg));
如果要跟踪当前选定的表行,可以为“活动”创建全局变量

TableRow selectedTR;
然后在
OnClickListener

        tr.setOnClickListener(new View.OnClickListener()
        {
            @Override
            public void onClick(View v)
            {
                TableRow tr = (TableRow)v;
                TextView companyTV, valueTV, yearTV;
                String company, value, year;
                companyTV = (TextView) tr.getChildAt(0);
                valueTV = (TextView) tr.getChildAt(1);
                yearTV = (TextView) tr.getChildAt(2);
                company = companyTV.getText().toString();
                value = valueTV.getText().toString();
                year = yearTV.getText().toString();
            }
        });
selectedTR = (TableRow)v;

使用该
selectedTR
变量时,请确保检查该变量是否为空值,以防尚未进行选择。

首先,在创建表格行之前设置表格行的背景时,代码中有一个错误。应首先创建新表行,然后设置其背景:

for (int i = 0; i < match.length; i++) {
    /** Create a TableRow dynamically **/
    tr = new TableRow(this);
    tr.setBackground(getResources().getDrawable(R.drawable.tv_bg));
如果要跟踪当前选定的表行,可以为“活动”创建全局变量

TableRow selectedTR;
然后在
OnClickListener

        tr.setOnClickListener(new View.OnClickListener()
        {
            @Override
            public void onClick(View v)
            {
                TableRow tr = (TableRow)v;
                TextView companyTV, valueTV, yearTV;
                String company, value, year;
                companyTV = (TextView) tr.getChildAt(0);
                valueTV = (TextView) tr.getChildAt(1);
                yearTV = (TextView) tr.getChildAt(2);
                company = companyTV.getText().toString();
                value = valueTV.getText().toString();
                year = yearTV.getText().toString();
            }
        });
selectedTR = (TableRow)v;

使用该
selectedTR
变量时,请确保检查该变量是否为空值,以防尚未进行选择。

Wow!!谢谢你!:)请再问一个问题。如果我想使表格行可选,在选择tr后,我将单击按钮获取数据。我得到了数据。现在我只想让它可以选择。以及如何确定选择了哪个tr?再次非常感谢你。是的。。完成了!!非常感谢你。你刚刚救了我的饭碗如果你不介意的话。。你想看看我的另一个问题吗。那就是。。哇!谢谢你!:)请再问一个问题。如果我想使表格行可选,在选择tr后,我将单击按钮获取数据。我得到了数据。现在我只想让它可以选择。以及如何确定选择了哪个tr?再次非常感谢你。是的。。完成了!!非常感谢你。你刚刚救了我的饭碗如果你不介意的话。。你想看看我的另一个问题吗。那就是。。哇!谢谢你!:)请再问一个问题。如果我想使表格行可选,在选择tr后,我将单击按钮获取数据。我得到了数据。现在我只想让它可以选择。以及如何确定选择了哪个tr?再次非常感谢你。是的。。完成了!!非常感谢你。你刚刚救了我的饭碗如果你不介意的话。。你想看看我的另一个问题吗。那就是。。哇!谢谢你!:)请再问一个问题。如果我想使表格行可选,在选择tr后,我将单击按钮获取数据。我得到了数据。现在我只想让它可以选择。以及如何确定选择了哪个tr?再次非常感谢你。是的。。完成了!!非常感谢你。你刚刚救了我的饭碗如果你不介意的话。。你想看看我的另一个问题吗。那就是。。