목록보기 안드로이드는 선택기가 작동 할 수 없습니다 도 그것은 선택을 할 수 없습니다 않습니다

StackOverflow https://stackoverflow.com/questions/5501203

문제

좋아요,이 목록보기 및 목록 활동 문제에 관한 다른 문제처럼 들릴 수도 있지만,이것은 아닙니다,나는 지난 주에 가서 모든 게시물을 검색하여 나에게 도움이 될 수있는 해결책을 찾기 위해 미쳐 갈 것입니다.이미 시도 사용자 지정 선택기를 통한 목록보기 항목 배경 그리고 겟뷰 대사용자 정의 커서앱터에서 바인드뷰? 다른 모든 가능한 블로그 사이트...

좋아 문제,하나에 대한 내 목록보기 1 은 선택/화재 이벤트 및 2 를 허용하지 않습니다.항목을 클릭하면 행 강조 표시가 변경되지 않습니다.나는 표준이 TestActivity 확장 ListActivity 그리고 나는 사용자 정의를 구현했습니다 TestCursorAdapter extends SimpleCursorAdapter

이제 내가 가지고있는 것들의 측면에서 test_list_view.xml 그리고 두 번째 row_view.xml 지금은 위의 답변을 언급 따라 구현 selector ' row_selector.xml.그러나 문제는 행이 클릭 또는 포커스 이벤트를 허용하지 않는 것입니다.나는 무슨 일이 일어나고 있는지 나타내는 기본 토스트를 구현했습니다

@Override
protected void onListItemClick(ListView l, View v , int postion, long idontnow){
    Toast.makeText(getApplicationContext(), "Hello World",  Toast.LENGTH_SHORT ).show();
}

테스트_목록 _보기의 일부입니다.2015 년

<ListView android:id="@android:id/list" 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:drawSelectorOnTop="true" 
    android:cacheColorHint="#00000000"
    android:focusable="true" 
    android:listSelector="@color/row_selector" 
    android:background="@color/Transparent"/>

선택기의 일부.(기본적으로 위에서 언급 한 링크 중 하나에서 복사 및 붙여 넣기)

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_window_focused="false" 
        android:drawable="@color/Transparent" />
    <item 
        android:state_focused="true"
        android:state_enabled="false"
        android:state_pressed="true" 
        android:drawable="@color/green" />
    <item 
        android:state_focused="true"
        android:state_enabled="false"      
        android:drawable="@color/green" />
    <item 
        android:state_focused="true"
        android:state_pressed="true" 
        android:drawable="@color/blue" />
    <item 
        android:state_focused="false"
        android:state_pressed="true" 
        android:drawable="@color/blue" />
    <item 
        android:state_focused="true" 
        android:drawable="@color/green" />
    <item 
        android:state_selected="true" 
        android:drawable="@color/blue" />
    <item 
        android:drawable="@color/Transparent" />
</selector>

나는 내가 알고있는 모든 옵션을 따랐고 여전히 아무것도 없습니다. 유일한 주요 차이점은 내가 사용하지 않는 사람입니다 getView 대신 나는 사용하고 있습니다 bindView.

어떤 도움 녀석든지 높게 평가 될 것이다.

미리 감사드립니다.

산지

도움이 되었습니까?

해결책

나는 당신이 제거하는 것이 좋습니다 android:focusable="true" 에서 ListView.

또한 다음을 사용할 수 있습니다 selector 에 표시되는 항목의 배경색으로 ListView.또한 이러한 요소가 호출되지 않도록 해야 합니다 onClick 또는 onTouch 또는 그런 것,그리고 ListView 클릭 이벤트를 처리합니다.

나는 이것이 도움이되기를 바랍니다

편집:

항목 사용을 선택하는 문제에 대한

lv.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            yourMethod();
        }
    });

다른 팁

라우코드라우그의 제안과 포스트를 따라 리스트뷰 온아이템클릭리스트너가 응답하지 않나요?

언급 한 또 다른 사실 사용 bindView 방법,나는 사용

view.setClickable(true);
view.setFocusable(true); 

당신이 노란색으로 강조 표시된 영역을 클릭 한 경우에만 작품의 항목 클릭 종류 ImageView.나는 이것을 알아낼 수 있어야한다.,

enter image description here

편집

오*%#$는 상대 레이아웃을 설정하는 데 필요했습니다. Add State from Children = true;

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top