0

我有这个奇怪的问题,无法弄清楚。我有一个TableLayoutwith 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 方法中花费几毫秒,并在几秒钟内绘制背景颜色以显示。

4

0 回答 0