2013-04-07 43 views
0

列表中讀取http://developer.android.com/guide/topics/ui/dialogs.html後,我想創建一個警告對話框,如下圖所示:添加使用AlertDialog API

enter image description here

基本上,我想有一個標題和四個選項的警告對話框作爲一個活動(即ColorAlertDialog.class)。

有人可以解釋如何實現這一點。

+0

您是否嘗試過編碼您所指的文檔中的內容?你不瞭解哪部分文檔? – chopchop 2013-04-07 22:50:25

+0

你能解釋一下.setItems方法,這是我困惑的地方。我想知道R.array.pick_color究竟是什麼? – androideka 2013-04-07 23:44:18

+0

確定這是指您需要創建的XML文件/res/values/arrays.xml。然後你編輯這個文件並把你的數組值放在那裏。整數數組的例子在這裏https://developer.android.com/guide/topics/resources/more-resources.html#IntegerArray – chopchop 2013-04-07 23:50:57

回答

0

另一種方法是使用適配器和adb.setadapter () 方法。 Adb會自動使用原生Android列表。這種方法的好處是Android會在每個Android版本上關注您的對話框樣式。 一些代碼示例:

@Override 
public void onCreate(Bundle bundle) { 
    super.onCreate(bundle); 

    String[] from = { ObjectViewContract.Columns.LABORCODE }; 
    int[] to = { android.R.id.text1 }; 

    mAdapter = new SimpleCursorAdapter(getSherlockActivity(), android.R.layout.select_dialog_item, null, from, to, 0); 
    getLoaderManager().initLoader(0, null, this); 
} 

@Override 
public Dialog onCreateDialog(Bundle bundle) { 
    AlertDialog.Builder adb = new AlertDialog.Builder(getSherlockActivity()); 
    adb.setTitle(getString(R.string.menu_title_objectfilter)); 
    adb.setAdapter(mAdapter, this); 
    return adb.create(); 
} 
0
  1. 你只需要創建一個自定義視圖(例如:R.layout.group_simple_alertdialog)如你的照片添加到您的AlertDialog.Builder

  2. 之後,你還必須setOnItemClickListener的方式來獲得從視圖中選擇的顏色重新

如:

LayoutInflater inflater = ((LayoutInflater) this 
     .getSystemService(Context.LAYOUT_INFLATER_SERVICE)); 
    View customView = inflater.inflate(R.layout.group_simple_alertdialog, null, false); 
    AlertDialog.Builder builder = new AlertDialog.Builder(this); 
    builder.setView(customView); 
    builder.setCancelable(false); 

    ListView list= (ListView) customView.findById(R.id.listView); 
    // set now setOnItemClickListener and so on