0

我基于链接创建了一个可扩展的列表视图。它工作正常。现在我想要的是

1)如何使一个子视图链接另一个子子视图

2)子视图应该作为窗口上的新列表视图打开(视图的右侧)这里是我预期的布局。我用谷歌搜索但找不到如何实现这一点。请帮助我实现这一目标。提前致谢。

4

2 回答 2

0

您需要指定和处理行项目onClick的事件。ListView然后,您将Activity根据单击的项目打开一个新的 。新活动的参数通过 Intent Extras 提供,新活动可以使用这些值从云中获取数据或处理这些值以显示某些结果。

我已经CustomAdapter多次使用类来处理这种情况。

class Ocl implements OnClickListener{

    @Override
    public void onClick(View v) {
        Intent intDetail = new Intent(getActivity(), PartDetail.class);                 
        intDetail.putExtra(_ID, mParts[position].getSPr());                                     
        intDetail.putExtra(_LOT, mParts[position].getLotID());
        intDetail.putExtra(_QTY, mParts[position].getQty());
        intDetail.putExtra(_UID, mParts[position].getPartID());

        startActivity(intDetail);
    }

}
于 2013-10-11T09:02:41.123 回答
0

那么,你想让你的第一个孩子扩展到另一个 ListView 吗?或者也许只是打开另一个包含匹配 ListView 的 Activity/Fragment?

如果您想要第一个,您可以为 Childview 设计一个 CustomLayout,它在 OnClick 上展开,并将其内容更改为特定的 ListView。

否则,您将根据单击第一个列表中的哪个子项来打开另一个带有数据的 ListView。

好吧,我正在使用一些 Like that 来放大 ChildViews on Click 以显示详细信息。

我使用一个类来包装我的名为 Row 的数据。这些行指示它们是否可点击,如果可以,ListView 将允许点击这些行。然后单击将由类本身处理,使显示的文本更长(更详细)。为了重新布局项目,您需要调用 notifyDataSetChanged。

@Override
public void onClick(Context context, MyExpandableListAdapter mela) {
    this.setBig(!isBig());
    mela.notifyDataSetChanged();
}

因此,我将在父母适配器的 getView 方法中处理行状态(扩展/正常),以决定我膨胀哪个 childLayout。

看起来像这样

public View getView (args...) {
 Object data = getItem(position);

 if (data.isExpanded()) {
    //inflate ListView Layout, create Addapter fill it....
 } else {
    //show some title or whatever to identify row.
 }
}
于 2013-10-11T09:01:01.253 回答