0

我已阅读主题 getCheckedItemCount() for API level < 11 的等价物是什么?
lv.getCheckItemIds().length可以得到正确的检查项目的总和,
lv.getCheckedItemIds().length不能,为什么?谢谢!

private void InitListView(int pos) {
    List<String> msgList = getSMS(pos);
    ArrayAdapter<String> adapter2 = new ArrayAdapter<String>(this,
            android.R.layout.simple_list_item_multiple_choice, msgList);
    lv.setAdapter(adapter2);
    lv.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
    lv.setOnItemClickListener(new OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                long arg3) {
            SetSelectedAndTotal();
        }
    });
}

private void SetSelectedAndTotal(){
    selectedAndTotal.setText(lv.getCheckItemIds().length + "/"+lv.getCheckedItemIds().length+ "/"
            + lv.getCount());       
}
4

1 回答 1

1
    public long[] getCheckItemIds ();

此方法在 API 级别 8 中已弃用。

改用getCheckedItemIds()它返回一组已检查的项目 ID。结果仅在未设置为choice_mode_none的选择模式时才有效。

退货

一个新数组,其中包含列表中每个选中项的 id。

   public long[] getCheckedItemIds ();

返回一组已检查的项目 ID。结果仅在未设置为choice_mode_none的选择模式并且适配器具有稳定的ID时才有效。

(hasStableIds() == true)

退货

一个新数组,其中包含列表中每个选中项的 id。

查看这里了解更多详情。

我希望这能帮到您。

于 2013-05-19T07:39:51.987 回答