2012-10-18 31 views
4

好吧,我已經搜索了一段時間了,但我找不到任何東西。我的應用程序在列表中顯示學生學校時間表,當用戶單擊列表中的某個班級時,它會顯示一個列出幾個選項(編輯,刪除,設置鬧鐘)的對話框。編輯和刪除很容易,因爲它們被點擊併發生了一些事情,但我需要關於「設置鬧鐘」選項的幫助。我不希望它是可點擊的,我只是想在它的右側有一個複選框,可以打開或關閉鬧鐘。下面是我的對話框代碼:(Android)在對話框中列出只有一個項目與複選框

AlertDialog.Builder builder = new AlertDialog.Builder(this); 
    builder.setTitle(courseName) 
    .setItems(R.array.courseList, new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int which) { 
      switch(which) { 
      case LIST_EDIT: 
       break; 
      case LIST_DELETE: 
       break; 
      case LIST_ALARM: 
       break; 
      } 
     } 
    }); 

    AlertDialog alert = builder.create(); 
    alert.show(); 

現在我有我的id爲courseList資源XML文件的字符串數組列表的選項。 LIST_EDIT,LIST_DELETE和LIST_ALARM是final int,它們對應於列表中的索引。我真的不知道如何添加一個複選框到警報列表項目,任何幫助將不勝感激。

回答

1

如果您熟悉片段可以使用FragmentDialog,然後只要你想在方法onCreateDialog創建對話框。

LayoutInflater inflater = getActivity().getLayoutInflater(); 
View view = inflater.inflate(R.layout.list, null); 
_list = (ListView) view.findViewById(R.id.listview); 
_adapter = new AdapterDialog(_context); 
_list.setAdapter(_adapter); 
// 
AlertDialog.Builder builder = new AlertDialog.Builder(_context); 
builder.setView(view); builder.setTitle("Dialog").setPositiveButton(getActivity().getString(android.R.string.ok), this); 

return builder.create(); 

或者類似的東西 ,然後創建一個單獨的方法或構造

_dialog = Dialog.newInstance(R.string.title, this); 
_dialog.setCancelable(true); 
_dialog.show(getSupportFragmentManager(), null); 

隨着你的形式給出的對話框,如果你想你不能添加更多的東西比「按鈕」在你的列表中,您必須使用適配器

希望它有助於

+1

對於任何人依然遵循着這樣的自定義行,它確實工作。謝謝! – jtate

相關問題