2011-12-09 29 views
1

データベースからリストを返す次のコードがあります。私は人々が特定の施設でビーチで検索を行うことができるようにチェックボックスのリストを使いたいと思いますが、チェックボックスを表示することができません。Android CHOICE_MODE_MULTIPLEボックスが表示されない

public class FacilitySearch extends ListActivity { 

    private DatabaseHelper dbBookHelper = null; 
    private Cursor ourCursor = null; 
    private BookAdapter adapter = null; 
    public final static String ID_EXTRA="com.fnesse.beachguide._ID"; 

    public void onCreate(Bundle icicle) { 
     super.onCreate(icicle); 

     ListView myListView = getListView(); 
     myListView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE); 
     myListView.setOnItemClickListener(onListClick); 

     dbBookHelper = new DatabaseHelper(this); 
     dbBookHelper.createDatabase();  
     ourCursor = dbBookHelper.getFacilities(); 
     startManagingCursor(ourCursor); 
     adapter=new BookAdapter(ourCursor); 
     myListView.setAdapter(adapter); 
     myListView.setItemsCanFocus(false); 
    } 

    private AdapterView.OnItemClickListener onListClick = new AdapterView.OnItemClickListener() { 
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) 
     {  
      Intent i = new Intent(FacilitySearch.this, Administration.class); 
      i.putExtra(ID_EXTRA, String.valueOf(id)); 
      startActivity(i); 
     } 
    }; 

    class BookAdapter extends CursorAdapter { 
     BookAdapter(Cursor c) { 
      super(FacilitySearch.this, c); 
     } 
     @Override 
     public void bindView(View row, Context ctxt, Cursor c) { 
      BookHolder holder = (BookHolder)row.getTag(); 
      holder.populateFrom(c, dbBookHelper); 
     } 
     @Override 
     public View newView(Context ctxt, Cursor c, ViewGroup parent) { 
      LayoutInflater inflater=getLayoutInflater(); 
      View row=inflater.inflate(R.layout.row2, parent, false); 
      BookHolder holder=new BookHolder(row); 
      row.setTag(holder); 
      return(row); 
     } 
     } 

    static class BookHolder { 
     private TextView name = null; 

     BookHolder(View row) { 
      name=(TextView)row.findViewById(R.id.beachListText); 
     } 

     void populateFrom(Cursor c, DatabaseHelper r) { 
      name.setText(r.getName(c)); 
     } 
    } 

乾杯、

マイク。

答えて

0

私はあなたがandroid.R.layout.simple_list_item_multiple_choice resourceに示すよう

android:id="@android:id/text1" 

であなたのリスト項目CheckedTextViewに含める必要があると思います。

それはあなたがListActivityを拡張し、あなたは私が最初、私はアンドロイドでこの例を見つけたことを試してみました

android:id="@id/android:list" 
+0

idのリストビューを持っている必要があり、独自のメインのレイアウトを定義して、私は必要がない場合と同じですレイアウトはすべて:http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/view/List11.htmlさらに、他の誰かが「setContentView(R.layout。 thelists);あなたは何か素質をしている場合にのみ必要です " –

+0

CheckedTextViewをR.layout.row2に追加しようとしましたか? – gwa

関連する問題