gpt4 book ai didi

android - 在没有 Layout Inflater 的情况下使用 getView()

转载 作者:行者123 更新时间:2023-11-29 21:40:47 25 4
gpt4 key购买 nike

我想在不使用 xml 布局的情况下填充项目,而不是我想在运行时创建 View 。这是我的 getView() 方法。

 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;
}

我在返回 View 时遇到此错误。

java.lang.ClassCastException: android.view.ViewGroup$LayoutParams cannot be cast to android.widget.AbsListView$LayoutParams

最佳答案

现在您可能导入了 LinearLayout 布局参数,这是错误的导入。这就是为什么你得到

java.lang.ClassCastException: android.view.ViewGroup$LayoutParams cannot be cast to android.widget.AbsListView$LayoutParams

因为您正在尝试将线性布局参数添加到应该用 AbdList 参数填充的 AbsList 布局

这一行是错误的:

v.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, 80));

将 LayoutParams 更改为:

AbsListView.LayoutParams

或更改您的导入:

import android.widget.AbsListView;

关于android - 在没有 Layout Inflater 的情况下使用 getView(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17166607/

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