我正在循环访问按钮,如下所示。

@Override
public void onClick(View v) {
    int clickedButtonId=v.getId();
    for(int buttonIndex=1;buttonIndex<=MAX_BUTTON;buttonIndex++) {
        int buttonId = getResources().getIdentifier("button" + buttonIndex, "id", getPackageName());
        if(clickedButtonId==buttonId){
            showToast(buttonIndex);
            openLink(LIKS[buttonIndex-1]);
            break;
        }
    }
}

是好的做法还是不好的做法?

最佳答案

在循环中仅在UI线程中访问按钮的ID没什么大不了,但是如果您对按钮执行大量处理,则会大大减慢UI活动屏幕。我建议使用AsyncTask进行此类处理。

有关更多详细信息,请参见https://developer.android.com/reference/android/os/AsyncTask.html

10-05 19:03