我正在尝试从ListFragment中的DevBytes实现this dynamicListView。
来源:http://developer.android.com/shareables/devbytes/ListViewDraggingAnimation.zip
我这样做是通过创建一个简单的布局
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mainLayout"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<com.example.android.listviewdragginganimation.DynamicListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</RelativeLayout>
并在我的ListFragment
中扩充此布局@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
inflater.inflate(R.layout.simple_list_layout, container);
return super.onCreateView(inflater, container, savedInstanceState);
}
DynamicListView似乎已正确初始化(运行init(Context)函数)。但它只是工作就好像它只是一个普通的ListView。即项目全部显示,我可以上下滚动,但DynamicListViews onItemLongClickListener永远不会被调用。
在ListFragment中使用自定义ListView还有什么需要做的吗?
答案 0 :(得分:2)
您正在为自定义布局充气但返回默认布局。将您的代码更改为
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.simple_list_layout, container);
}
之后,您可以正常致电getListView().setOnLongClickListener(myClickListener)
。
编辑:在布局中添加第二个视图,其ID为android:id="@id/android:empty"
,用于奖励空状态。