을 변경하지 않습니다 다음 ListView
에 바인딩확인란 나는이 상태를
public class MyList extends ListActivity {
SimpleAdapter simpleAdapter;
에 의해 수행되는 ViewBinder
:
simpleAdapter = new SimpleAdapter(this, getData(path),
R.layout.menu_row, new String[] {
..., "checked" }, new int[] {..., R.id.checkBox1 });
SimpleAdapter.ViewBinder viewBinder = new SimpleAdapter.ViewBinder() {
@Override
public boolean setViewValue(View view, Object data,
String textRepresentation) {
if (view.getId() == R.id.checkBox1) {
CheckBox checkBox = (CheckBox) view;
checkBox.setChecked(Boolean.parseBoolean((String) data));
이 clickable
및 focusable
이 행 것으로하는 데 도움이 하나처럼 보입니다.
<CheckBox
android:id="@+id/checkBox1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:focusable="false"
android:clickable="false"
android:focusableInTouchMode="false"
/>
는 또한 가지고 :
클릭 이벤트와 상호 작용protected void onListItemClick(ListView l, View v, int position, long id) {
. 지금까지 좋은 작품, 내 문제는 행을 클릭하면 CheckBox
는 시각 상태를 변경하지 않습니다. 내가 무엇을 할 수 있을지?
버튼이 누구입니까? 는 \t는 보호 내가 무엇을 무효 onListItemClick (ListView에 리터,보기 V, INT 위치, 긴 ID를) { \t \t \t CheckBox의 체크 박스 = (CheckBox의) v.findViewById (R.id.checkBox1); checkbox.setChecked (! checkbox.isChecked()); 효과가 표시되지 않습니다. – user1324936
죄송합니다. 확인란입니다. 그래픽이 아닐지라도 상태가 변하고 있는지 확인할 수 있습니까? 당신은 notifyDatasetChanged을 시도 했습니까 (제 생각에 나는 그걸 가지고 있다고 생각합니다. 제 전화와 리소스에서 멀리 떨어져 있습니다) – Barak
예 simpleAdapter.notifyDataSetChanged();를 호출합니다. 이 문제였습니다. 즉, 확인란의 변경 사항을 알지 못하는 getData 메서드를 호출합니다. 나는 당신의 생각이 나를 잘못 지적했기 때문에 그것을 주석 처리했다. – user1324936