ExpandableListAdapter.getChildView() 与 AbsListView.LayoutPar



>我正在开发BaseExpandableListAdapter的扩展,并具有getChildView()的以下实现:

public View getChildView(int groupPosition, int childPosition, 
    boolean isLastChild, View convertView, ViewGroup parent) 
{
    AbsListView.LayoutParams lp = new AbsListView.LayoutParams
        (ViewGroup.LayoutParams.FILL_PARENT, 48);
    RelativeLayout layout = new RelativeLayout(myExpandableListActivity.this);
    layout.setLayoutParams(lp);
    TextView name = new TextView(myExpandableListActivity.this);
    name.setText("testing...");
    layout.addView(name);
    return layout;
}

这段代码正在工作,当我运行应用程序时,展开一个组并单击一个子应用程序,父应用程序能够正确检测 onChildClick()。

但是,我注意到如果我不调用setLayoutParms(),onChildClick()将不再工作。我的问题是,当我将AbsListView.LayoutParams分配给要返回的子视图时会发生什么?为什么需要这样做才能让我的 onChildClick() 在父应用程序中响应?

提前感谢!

在进一步处理了代码的其他部分之后,看起来省略 setLayoutParms() 并不是导致我的 onChildClick() 无法正常工作的原因。我还使用布局膨胀来设置我的 RelativeLayout,其中包括一个复选框。事实证明,是复选框导致孩子无法点击,我必须进一步研究。

RelativeLayout spellLayout = (RelativeLayout) 
    getLayoutInflater().inflate(R.layout.testLayout, null);

感谢您的阅读!

相关内容

  • 没有找到相关文章

最新更新