我想填充項目而不使用xml佈局,而是我想在運行時創建視圖。這是我的getView()
方法。使用getView()沒有佈局Inflater
public View getView(final int position, View convertView, ViewGroup parent) {
EditText v ;
if(convertView ==null)
{
v = new EditText(mContext);
convertView = v;
convertView.setTag(R.string.edittext_child, v);
}
else
{
v = (EditText)convertView.getTag(R.string.edittext_child);
}
v.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, 80));
v.setBackgroundDrawable(mContext.getResources().getDrawable(R.drawable.custom_edit));
v.setEms(12);
v.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
v.setPadding(10, 0, 5, 0);
v.setHint(Ids[position]);
return convertView;
}
我在返回視圖時出現此錯誤。
java.lang.ClassCastException: android.view.ViewGroup$LayoutParams cannot be cast to android.widget.AbsListView$LayoutParams
你可以把一個'EditText'作爲'查看'但不是相反。 –
我認爲你需要使用LinearLayout.LayoutParams代替ViewGroup.LayoutParams爲LayoutParams移除導入行並導入LinearLayout.LayoutParams。它應該工作。 –