0
我已经开发了定制的复合视图,我不确定如何在我的列表视图显示。
我所做的:
- >我的自定义视图复合
public class HZScrollView extends LinearLayout {
public HZScrollView(Context context) {
super(context);
initView(context);
}
private void initView(Context context) {
mContext = context;
setOrientation(LinearLayout.HORIZONTAL);
setGravity(Gravity.CENTER_VERTICAL);
ViewGroup.LayoutParams lp = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT);
this.setLayoutParams(lp);
//inflate XML resource and attach
mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
mInflater.inflate(R.layout.hz_scroll_view, this, true);
}
}
public void addContent(String name, String age, String sex) {
//content is added to the individual widgets within this compound view
}
- >我的适配器
public View getView(int position, View convertView, ViewGroup parent) {
if(convertView == null) {
convertView = new HZScrollView(context); //<--- PROBLEM !
}
}
主要的问题我体验是标有“PROBLEM”的行会导致出现问题在'net'的示例代码中,getView()通常会扩展XML布局,但在我的情况下,复合视图是完全自包含的。
问:
怎么可能插入/附上我的自定义视图复合到ListView项?
我想要使用一个自定义复合视图,该视图在视图的java文件中扩展为'TableLayout',它扩展了'LinearLayout',并且它的XML具有'LinearLayout'作为根元素。所以我应该改变这个'合并'?我得到一个'InvalidStateException'或类似的东西。我试图添加的“视图”已经有父母或类似的信息。 –