我正在使用带有可扩展动画(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));
}
}
});
你能帮帮我吗?
答案 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"/>