阅读http://developer.android.com/guide/topics/ui/dialogs.html后,我想创建一个如下所示的警报对话框:
基本上,我希望有一个带有标题和四个选项的警报对话框作为活动(即 ColorAlertDialog.class)。
有人可以解释一下如何实现这一点。
阅读http://developer.android.com/guide/topics/ui/dialogs.html后,我想创建一个如下所示的警报对话框:
基本上,我希望有一个带有标题和四个选项的警报对话框作为活动(即 ColorAlertDialog.class)。
有人可以解释一下如何实现这一点。
您只需要在您的图片上创建一个自定义视图(例如:R.layout.group_simple_alertdialog)并将其添加到您的AlertDialog.Builder
.
之后,您还必须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
另一种方法是使用适配器和 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();
}