gpt4 book ai didi

java - Android ListView 包含 Activity 和非 Activity 条目

转载 作者:行者123 更新时间:2023-12-01 18:12:07 24 4
gpt4 key购买 nike

我需要一个包含多个可单击条目的 ListView 。然而,其中一些在异步任务释放它们之前是不活动的。我应该如何最好地做到这一点?首先,我想到有一个带有 boolean 值的单独的 ArrayList,但这似乎有点便宜。有没有办法扩展StableArrayAdapter?

这是我当前的适配器

import android.content.Context;
import android.widget.ArrayAdapter;

import java.util.HashMap;
import java.util.List;

public class StableArrayAdapter extends ArrayAdapter<String> {

HashMap<String, Integer> mIdMap = new HashMap<>();

public StableArrayAdapter(Context context, int textViewResourceId,
List<String> objects) {
super(context, textViewResourceId, objects);
for (int i = 0; i < objects.size(); ++i) {
mIdMap.put(objects.get(i), i);
}
}

@Override
public long getItemId(int position) {
String item = getItem(position);
return mIdMap.get(item);
}

@Override
public boolean hasStableIds() {
return true;
}
}

最佳答案

覆盖isEnabled()在你的适配器中。对于最初不应点击的项目,您可以返回 false。然后,当您的 AsyncTask 完成时,在 onPostExecute() 中,您可以调用您在适配器上定义的其他方法来启用这些项目,从此时起,您的 isEnabled() 实现应该对于这些项目返回 true。

关于java - Android ListView 包含 Activity 和非 Activity 条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32196837/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com