如何获取特定选定行的行ID?

时间:2012-06-01 04:53:54

标签: android android-layout android-tablelayout

我在for循环中添加了两个TableRowsTableLayout。在每个TableRow中,有TextViews和1 ImageView& 1切换按钮。我已将OnClickListener添加到first row&切换按钮。我的问题出在onclick的{​​{1}}方法中,我该如何获取该特定选定行的行ID?

有人可以帮助我吗?

Plz帮助我......

我想获取特定选定行的行ID ......

Plz有人回复我......

2 个答案:

答案 0 :(得分:4)

导航View ImageView中的OnCLickListener层次结构,如下所示:

imageView.setOnClickListener(new OnClickListener() {

     public void onCLick(View v) {
          // v represents the view that was clicked(the ImageView)
          // if the ImageView is added directly to the TableRow then you could simply do
          TableRow tr = (TableRow) v.getParent(); // if the ImageView isn't a direct child of the TableRow then walk through all the parent with getParent().
          // do stuff 
     }

});

修改:

你的代码没有帮助,通过查看你正在做的事情,我会建议你从一些更简单的东西开始学习android。此外,tabLayout.addView(openedRow1, n_D);不会向 openedRow1 View添加标记(如果这是您想要做的),它只是将View定位到父级中的特定位置(如0为父级的第一个子级)。

我猜你在点击它的父级时,试图从第二个TextView tv_vin_val ?!?!)获取文字。如果你想做的就是这样的话:

 public void onClick(View v) {
        // you set the listener on the TableRow so v is the TableRow that was clicked 
        TableRow lTableRow = ((TableRow) v);                                
        // to get the TextView use getChildAt or findViewById
        TextView lTextView = (TextView)lTableRow.getChildAt(1);
        //get the text from the TextView  
        vinNum = lTextView.getText().toString();
        // the tag
        int theTag = (Integer) v.getTag();          
        Intent intent = new Intent(DeliveryInspectionActivity.this, ExceptionsActivity.class);
        //intent.putExtra("row id value", theTag);
        startActivityForResult(intent, 0);
 }

答案 1 :(得分:1)

我不确定如何获得正确的行号,但我建议改为使用getParent()的{​​{1}}方法来获取对{{1}的引用包含图像并直接从中工作。像这样:

View