0

阅读http://developer.android.com/guide/topics/ui/dialogs.html后,我想创建一个如下所示的警报对话框:

在此处输入图像描述

基本上,我希望有一个带有标题和四个选项的警报对话框作为活动(即 ColorAlertDialog.class)。

有人可以解释一下如何实现这一点。

4

2 回答 2

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
于 2013-04-07T22:56:52.250 回答
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();
}
于 2013-04-10T16:27:51.120 回答