java - 在循环中访问按钮 id 是一个好习惯吗?

标签 java android android-layout android-studio

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

@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 Activity 屏幕的速度。我建议使用 AsyncTask 来执行此类处理。

更多详情请参阅https://developer.android.com/reference/android/os/AsyncTask.html

关于java - 在循环中访问按钮 id 是一个好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37372910/

相关文章:

java - 在多个应用程序中使用自定义 AccountAuthenticator

android - ArrayAdapter 的 getView() 方法没有被调用

android - inflateMenu 在 CollapsingToolbarLayout 内的工具栏上不起作用

java - 用户如何将字符串中的某些字符替换为其他字符?

java - XMLPullParser 结束标记错误

java - 使用 Hibernate 在 java 中创建查询 : could not resolve property

android - 滚动图库小部件?

java - 如何使用 MigLayout 将内容集中在多个面板上?

android - 无法使用 Android Paging 库加载下一个数据

java - 如何以编程方式将 View 和约束添加到 ConstraintLayout?