목록보기 안드로이드는 선택기가 작동 할 수 없습니다 도 그것은 선택을 할 수 없습니다 않습니다
-
14-11-2019 - |
문제
좋아요,이 목록보기 및 목록 활동 문제에 관한 다른 문제처럼 들릴 수도 있지만,이것은 아닙니다,나는 지난 주에 가서 모든 게시물을 검색하여 나에게 도움이 될 수있는 해결책을 찾기 위해 미쳐 갈 것입니다.이미 시도 사용자 지정 선택기를 통한 목록보기 항목 배경 그리고 겟뷰 대사용자 정의 커서앱터에서 바인드뷰? 다른 모든 가능한 블로그 사이트...
좋아 문제,하나에 대한 내 목록보기 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
.나는 이것을 알아낼 수 있어야한다.,
편집
오*%#$는 상대 레이아웃을 설정하는 데 필요했습니다. Add State from Children = true;