2012-01-11 4 views
2

私はListViewにカスタムアダプターを持っています。それはCheckBoxesをカウントします。そのうちの1つが点検されると、私は他のものをチェックしないようにします。私はCheckBoxリストを作成して、このリストを返すメソッドを作成しましたが、IndexOutOfBounds(getBoxメソッドのリストにCheckBoxを追加しています)を与え続けました。Androidリストボックスのチェックボックスをオフにする

This is my adapter

のxml:

チェックの付いている位置を表すグローバル整数を持っており、GetViewメソッドでグローバル変数の値とgetViewメソッドが呼び出された位置、場合、参照されない理由を
<?xml version="1.0" encoding="utf-8"?> 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" > 

<CheckBox android:id="@+id/checkBoxListView" 
    android:layout_height="50px" 
    android:layout_width="50px"/> 

<EditText android:id="@+id/editTxtListView" 
    android:layout_height="50px" 
    android:layout_width="680px" 
    android:editable="false" 
    android:focusable="false" />  

答えて

2

同じチェックボックスをオンにしてチェックを外すとチェックが外されます。

コードをpastebinで見た。
あなたはそれをかなり複雑なものにしています。
とにかく、ただのクイックコメント、
はしません this.pos = position; getView()内の
代わりに、このチェック場合(postion == this.pos)の

{//
このチェックボックスをチェックしてください}他
をまた


{//
は、このチェックボックスのチェックを外し
}、 "POS" の活動によって制御されなければなりませんまたはpojo自体がリストのデータを処理しています。

+0

これが機能すれば、アダプターの仕組みが分からないと思います。どの場合、getViewメソッドが呼び出されますか? –

+0

get viewは、現在表示されているリストビューのすべての行に対して呼び出されます。 したがって、index = 2のボックスをチェックすると、index = 0からgetViewが呼び出され、2番目の位置でのみチェックマークが付いているので、チェックサインが描画され、他はボックスのみが描画されます。 アダプターの理解を深めるには、次の操作を行います。http://developer.android.com/reference/android/widget/Adapter.htmlおよびhttp://www.vogella.de/articles/AndroidListView/article.html – akkilis

+0

I試してみましたが、これはうまくいきませんでした。私はここで何をするのか分からないので、私のコード@ Pastebinを投稿しました。 http://pastebin.com/iAdJJ6tg –

関連する問題