【发布时间】:2010-10-20 02:23:14
【问题描述】:
我在尝试用 Java 为 Android 应用程序实现自定义列表视图时遇到了一个小错误。
我正在尝试列出一堆单词(通常为 100
问题是缺少一些单词。似乎是随机的。我认为更有可能缺少用于“突出显示”的词。 (IE。 我尝试了几种不同的代码变体,但这是我目前得到的:
public class ResultsAdapter<T> extends ArrayAdapter<String> {
private ArrayList<String> mHighlightSet;
private ArrayList<String> mGlobalSet;
private Context mContext;
public ResultsAdapter(
Context context,
int textViewResourceId,
ArrayList<String> globalSet,
ArrayList<String> highlightSet) {
super(context, textViewResourceId, globalSet);
mContext = context;
mGlobalSet = globalSet;
mHighlightSet = highlightSet;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// return super.getView(position, convertView, parent);
final String text = mGlobalSet.get(position);
TextView view = new TextView(mContext);
view.setText(text);
if(mHighlightSet.contains(text))
view.setTextColor(Color.RED);
else
view.setTextColor(Color.WHITE);
return view;
}
此自定义适配器由以下代码实例化和分配:
if (mSummaryList != null & mAllWords != null & foundWords != null) {
ArrayList<String> globalSet = new ArrayList<String>(mAllWords.keySet()); // mAllWords is a TreeMap
ArrayList<String> subset = hud.getFoundWords();
mResultsAdapter = new ResultsAdapter<String>(this, R.layout.simplerow, globalSet, subset);
mSummaryList.setAdapter(mResultsAdapter);
mSummaryList.setOnItemClickListener(onWordListItemClickListener);
}
数据变量与屏幕上显示的内容之间似乎存在一些脱节。我迷路了,请帮忙。
提前致谢!
【问题讨论】: