先上图
AlertDialog有个问题是动态添加组件时,组件会很靠边框,这样很不好看,下面这个方案是解决这个问题
LayoutInflater mInflater = (LayoutInflater) getContext()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = mInflater.inflate(R.layout.recordlayout, null);
LinearLayout layout = (LinearLayout) view
.findViewById(R.id.id_recordlayout);
for (int i = 0; i < fieldName.length; i++) {
String name = fieldName[i];
if ("_id".equals(name))
continue;
TextView tv = new TextView(getContext());
tv.setText(fieldName[i]);
EditText edit = new EditText(getContext());
layout.addView(tv);
layout.addView(edit);
}
AlertDialog.Builder dialog = new AlertDialog.Builder(getContext());
dialog.setTitle(R.string.add_a_record);
dialog.setView(view);
dialog.setPositiveButton(R.string.ok,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
}
});
dialog.setNegativeButton(R.string.cancel,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
}
});
dialog.show();