2

我在 Dialog 中有一个 ListView...我有自己的数据适配器,但我的 Dialog 中也有一个 Spinner,在其上创建/更改了适配器。

现在在 Spinner 选择改变时,适配器被创建并且 ListView 的适配器被设置为新的适配器......

一切正常,但我的对话框在适配器更改后并没有使其布局无效,它总是落后一步......这意味着,对话框总是具有它之前在 Spinner 选择时应该具有的大小......

编辑:我只在微调器的 onItemSelected 事件中执行以下操作

public void onItemSelected(AdapterView<?> adapterView, View view, int position, long id) 
{ 
    if (adapterView.getId() == R.id.spMG) 
    {
        long mg_id = ((MG)sp.getSelectedItem()).getID();
        adapter.clear();
        adapter.addAll(DBDataManager.getExercises(mg_id, true));

        adapter.notifyDataSetChanged();
        ((View)lv).invalidate();
    }
}

我使用了一个 ArrayAdapter,我只是向适配器添加了一个 ArrayList。

4

0 回答 0