我嘗試製作一個微調控制器,其中dropdownview中的第一項沒有單選按鈕。我重寫了arrayadapter的視圖類型,以確保在微調控件中有兩個不同的視圖,並且視圖不會被錯誤的項目回收。然後我重寫arrayadapter的getDropDownView以從第一個項目刪除單選按鈕。這是可行的,但所選項目不顯示單選按鈕。我想我不需要setCheckMarkDrawable(android.R.drawable.btn_radio),因爲它應該總是在那裏,但事實並非如此。有任何想法嗎?謝謝!微調控制器爲每個項目提供不同視圖
@Override
public int getViewTypeCount()
{
return 2;
}
@Override
public int getItemViewType(int position)
{
if (position == 0)
return 0;
else
return 1;
}
@Override
public View getDropDownView(int position, View convertView, android.view.ViewGroup parent)
{
if (position == 0)
{
View vw = super.getDropDownView(position, convertView, parent);
CheckedTextView tv = (CheckedTextView) vw;
if (tv != null)
{
tv.setCheckMarkDrawable(null);
tv.setTextColor(Color.GRAY);
return tv;
}
return vw;
} else
{
View vw = super.getDropDownView(position, convertView, parent);
CheckedTextView tv = (CheckedTextView) vw;
if (tv != null)
{
tv.setCheckMarkDrawable(android.R.drawable.btn_radio);
tv.setTextColor(Color.BLACK);
return tv;
}
return vw;
}
}