0

CheckBoxを使用してListViewを作成しようとしています...ThListViewを使用すると、ユーザーはアイテムを選択するか、そのアイテムを開いてその中の他の選択肢を選択できます。つまり、ListViewは、チェックボックスのクリックとアイテム自体のクリックを区別できる必要があります。

android.R.layout.simple_list_item_multiple_choiceを使用して実装しようとしましたが、これでは、(アイテムの)チェックボックスの外側をクリックしてもチェックボックスをオンにすることしかできません。

誰でも助けることができますか?
これが私のコードです、

import java.util.ArrayList;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

public class ListViewActivity extends Activity implements OnItemClickListener {  

ListView directoryList;


/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    final ArrayList<String> contacts = new ArrayList<String>();
    contacts.add("zaid");
    contacts.add("hazem");
    contacts.add("Oubai");


    directoryList= (ListView) findViewById(R.id.directoryList);


    final ArrayAdapter<String> arrayAdapter;
    arrayAdapter = new ArrayAdapter<String>(this,
                                  android.R.layout.simple_list_item_multiple_choice,
                                  contacts);


    directoryList.setAdapter(arrayAdapter);
    directoryList.setOnItemClickListener(this);
    directoryList.setClickable(true);



}

@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {




}

}

4

1 に答える 1

2

カスタマイズされたアレイアダプタが必要です。getView()で、チェックボックスを保持し、OnCheckedChangeListener()を設定します。

これは、独自のカスタムアダプタを作成する方法に関するチュートリアルです。この例にはクリック可能なテキストボックスがありますが、チェックボックスで機能するように変更できます。

http://www.shubhayu.com/android/listview-with-arrayadapter-and-customized-items

于 2012-04-07T15:17:20.473 に答える