我有这个奇怪的问题,无法弄清楚。我有TableLayout
TableRow's
,onClickListener
。我希望在点击时突出显示tableRow ...除了第一次点击时非常慢的响应外,一切似乎都很好。
当我单击TableRow时,突出显示TableRow大约需要8秒钟,但它只是第一次花费很长时间。当我点击其他行然后回到之前突出显示的行时,响应是“立即”。我应该提到该表包含30列和13列。限制为少量行和列时,响应时间会减少。
为什么第一次点击需要花费这么多时间,而不是第二次点击?
这是我的onClick
方法:
@Override
public void onClick(View v)
{
if (v instanceof TableRow){
long startTime = System.currentTimeMillis();
TableRow row = (TableRow) v;
if (selectedRow != null){
selectedRow.setBackgroundColor(Color.TRANSPARENT);
}
row.setBackgroundColor(getResources().getColor(R.color.selected_row));
selectedRow = row;
long estimatedTime = System.currentTimeMillis() - startTime;
Log.v(TEST_TAG, "Time elapsed when clicked:" + estimatedTime);
}
}
它在OnClick方法中花费几毫秒,并且几秒钟来绘制背景颜色以显示。