0
我正在使用AlertDialog顯示一些調試信息。我只是有一個我放入信息的列表。爲了使它更具可讀性,我想根據它們的類型來更改列表中各個項目的背景顏色。不幸的是,我似乎無法得到我想要的顏色。下面是我使用的適配器的視圖:Android在AlertDialog中使用適配器時更改背景顏色
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = super.getView(position, convertView, parent);
TextView tv = (TextView) v.findViewById(android.R.id.text1);
RuleDebugItem item = mData.get(position);
tv.setSingleLine(false);
if(item.type.equalsIgnoreCase(Field.VARIABLE)) {
tv.setText(item.ruleDebugText);
tv.setTextSize(18);
v.setBackgroundColor(color.bluelight);
tv.setTypeface(null, Typeface.BOLD);
tv.setTextColor(ContextCompat.getColor(mContext,android.R.color.white));
}
else if (item.type.equalsIgnoreCase(Field.FUNCTION)) {
tv.setText(item.ruleDebugText);
tv.setTextSize(16);
v.setBackgroundColor(color.greenlight);
tv.setTypeface(null, Typeface.BOLD);
tv.setTextColor(ContextCompat.getColor(mContext,android.R.color.white));
}
else if (item.type.equals("Condition")) {
tv.setText(" " + item.ruleDebugText);
tv.setTextSize(14);
tv.setTypeface(null, Typeface.NORMAL);
tv.setTextColor(ContextCompat.getColor(mContext,android.R.color.black));
}
return v;
}
我期待v.setBackgroundColor(color.greenlight);
改變底色的顏色。我想我可以建立自己的對話框,但是我真的不想在這上面花費很多時間,因爲它可能是一次性代碼。
謝謝!
您可以在onBindViewHolder方法改變這個可以是在容易控制 –
@Selvin作爲說,扔掉代碼和正在進行的工作。條件(和其他項目)將在稍後添加。如果已經使用ArrayAdpater和AlertDialog解決了問題,請給我發送鏈接。謝謝。 –
Rahul - ArrayAdapter似乎沒有onBindViewHolder方法。還是暗示我做了一些不同的事情? –