0

我在 listItemClick 上的列表项内膨胀视图。列表项包含一个复选框。单击复选框时,包含两个/三个编辑文本字段和按钮的线性布局会膨胀到该列表视图(通过光标适配器的 getView 方法完成,动态创建膨胀视图)。

列表视图在项目单击侦听器中注册。布局膨胀后,不会为特定项目调用 onItemClick 侦听器。帮我

我的 getView 代码

TextView text1  = (TextView) view.findViewById (R.id.text);
        text1.setText("text");

        CheckBox cb = (CheckBox)view.findViewById(R.id.checkBoxList) ;
        cb.setTag(tag);
        cb.setChecked(false);

        if ( chekedIdVector.contains(cursor.getString(cursor.getColumnIndex(ID) )))
        {
            cb.setChecked(true);
        }

        if( !idVector.isEmpty () )
        {
            LinearLayout ll =(LinearLayout)view.findViewById(R.id.layoutinCell);

            if ( ((String)idVector.lastElement()).equals(cursor.getString(cursor.getColumnIndex(_ID) )) )
            {

                if (ll.getChildCount() == 0 )
                {
                    ll.removeAllViews() ;
                    ll.addView(dynamicallyCreatedView); // view dynamically created with 2/3 textviews and buttons
                }

                ll.setVisibility(View.VISIBLE); 
                view.requestFocus() ;
            }

            else
            {
                ll.removeAllViews() ;
            }
        }

        return view  ;

Ps:我尝试过更改焦点的侦听器并将复选框设置为在xml中不可聚焦

4

1 回答 1

0

如果所有其他方法都失败了,请考虑使用 ExpandableListView (http://developer.android.com/reference/android/widget/ExpandableListView.html) 或从一开始就使用 android:visibility="GONE" 填充项目,然后设置它作为“可见”而不是夸大它们。

于 2012-08-31T12:25:19.987 回答