展开自定义ListView中的所有列表项(android)

时间:2017-02-25 10:02:52

标签: android listview

我正在使用带有可扩展动画(from this tutorial)的普通ListView(mItemsList)。它有效,当我点击列表项时,它会展开并显示该项目的详细信息。

 mItemsList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, final View view, int position, long id) {

            View details = view.findViewById(R.id.details);

            // Creating the expand animation for the item
            ExpandAnimation expandAni = new ExpandAnimation(details, 500);

            // Start the animation on the toolbar
            details.startAnimation(expandAni);
        }
    });

我创建了一个showDetails按钮,我想在点击按钮后展开所有列表项,但我完全迷失了。下面的代码不起作用

  mShowDetailsButton.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            for (int i = 0; i < mItemsList.getAdapter().getCount(); i++) {
                View details= v.findViewById(R.id.details);
                details.startAnimation(new ExpandAnimation(details, 500));
            }
        }
    });

你能帮帮我吗?

这是我的list_item xml file

1 个答案:

答案 0 :(得分:0)

也许按照以下类似的方法逐个自动点击项目以打开所有listciew。

mShowDetailsButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {//<-- this view not referring to mItemsList 
    }
});

你所做的那个不起作用,因为视图是引用mShowDetailsButton,而不是mItemsList。因此,您无法找到Viewof id R.id.details。

    <TextView
    android:text="15m"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true"
    android:id="@+id/rightTime"
    android:textSize="16sp"/>