【问题标题】:Possible to put CheckedTextView into Group like RadioGroup?可以将 CheckedTextView 放入像 RadioGroup 这样的组中吗?
【发布时间】:2014-07-23 08:13:18
【问题描述】:

有没有办法在像RadioGroup 这样的某种组中拥有多个CheckedTextView?所以只会同时检查一个CheckedTextView

如果这是不可能的,因为CheckedTextViewTextView 的子级,那么在组中只能检查一个CheckedTextView 的最节省内存的逻辑编码方式是什么?其他 5 个CheckedTextViews?

每次按下CheckedTextView 时,我都会检查所有其他人的检查状态并相应地更改它,这看起来并不高效。

【问题讨论】:

标签: android checkedtextview


【解决方案1】:

我设法使用CheckedTextView 来作为某个组的一部分(例如,一次只能选择一个CheckedTextView)。

//pass view which fired onClick event
//pass an array or other container of checkedTextViews (optional)
void setCheckedState(View v, CheckedTextView[] whichCheckedViews) {
    CheckedTextView temp = (CheckedTextView) v;

//first uncheck all views in the arraw
    for (CheckedTextView item : whichCheckedViews)
        item.setChecked(false);

//detect which checkedTextView initiated onClick event
    switch (v.getId()) {
        case R.id.checkedTextView_1:
        case R.id.checkedTextView_2:
        case R.id.checkedTextView_3:
        case R.id.checkedTextView_N:
            temp.setChecked(true);
            break;

        default:
            break;
    }
}

这就像一个魅力。

注意:我没有检查内存消耗,因为我只有 5 个视图。我也没有检查执行时间,因为它在所有测试设备上运行都没有故障。

【讨论】:

    猜你喜欢
    • 2011-03-14
    • 1970-01-01
    • 1970-01-01
    • 2019-10-23
    • 1970-01-01
    • 2023-02-21
    • 2020-07-19
    • 1970-01-01
    • 2018-09-02
    相关资源
    最近更新 更多