我必须找出表格行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正确。请说明错误在哪里,如何在解析后随机显示数据?
答案 0 :(得分: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对象
答案 1 :(得分:0)
由于Cursor始终指向第1行之前,这意味着-1。你应该使用“moveToFirst()”来到第一行
eg:
for(cursor.moveToFirst() ; !cursor.isAfterLast(); cursor.moveToNext()){
// Do whatever u want with the data obtained
}