2012-05-17 56 views
0

我必須找出表格行ID。爲此,我正在編寫代碼如何動態識別表格行ID

match1[i].setTextSize(12); 
      match1[i].setPadding(10,0,0,0); 
      tr.addView(match1[i]); 
      Log.e("TAG", "ID: "+match1[i].getId()); 
      match1[i].setOnClickListener(new OnClickListener() {  
       public void onClick(View arg0) { 

        Toast.makeText(SAXParserActivity.this, ""+tr.getId(), 
          Toast.LENGTH_SHORT).show(); 
        Log.e("TAG", " clicked ID: "+tr.getId()); 
       } 
      }); 
    t1.addView(tr, tableRowParams);  

其中match1是文本視圖。所有工作正常,但問題是點擊表格行。對於每行我得到-1 id,但之前單擊該id是正確的。請提示錯誤發生在哪裏,如何在解析後隨機顯示數據?

回答

1

試試這個片段:

final View row=contact_table.getChildAt(i); 
row.setOnClickListener(new OnClickListener(){ 
    public void onClick(View v){ 
    row_id=contact_table.indexOfChild(row); 
    } 
}); 

其中contact_table是您TableLayout對象

+0

它的工作。謝謝:) – Naina

0

隨着光標永遠只是第一行之前指出,這意味着-1。你應該使用「moveToFirst()」到達第一行

eg: 

    for(cursor.moveToFirst() ; !cursor.isAfterLast(); cursor.moveToNext()){ 

      // Do whatever u want with the data obtained 
}