在ListFragment中使用自定义ListView

时间:2014-12-19 07:08:02

标签: android android-fragments android-listview android-listfragment

我正在尝试从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还有什么需要做的吗?

1 个答案:

答案 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",用于奖励空状态。