0

ListFragment 안에 DevBytes의 this dynamicListView을 구현하려고합니다.ListFragment에서 사용자 지정 ListView 사용

소스 : 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

당신의'fragment'에서'onItemLongClickListener'를 오버라이드해야합니다 –

답변

2

맞춤 레이아웃을 부 풀리지 만 기본 설정을 되돌립니다. 코드를

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    return inflater.inflate(R.layout.simple_list_layout, container); 
} 

으로 변경하십시오. 그런 다음 정상적으로 getListView().setOnLongClickListener(myClickListener)으로 전화 할 수 있습니다.

편집 : 레이아웃 내에 android:id="@id/android:empty" 보너스 공백 상태의 두 번째보기를 추가하십시오.

+0

아 물론 ... – user2128112