什么方法触发 AlertDialog 创建?
像 Activity 的onCreate()
,
我的情况:我有一个 fragment ,在这个 fragment 中我有一个带有此 setOnClickListener()
方法的按钮:
btnAddPromotionAw.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
AlertDialog.Builder builder = new AlertDialog.Builder(
getActivity());
LayoutInflater inflater = (LayoutInflater) getActivity()
.getSystemService(getActivity().LAYOUT_INFLATER_SERVICE);
View dialog = inflater.inflate(R.layout.promotion_aware_picker,
null);
builder.setView(dialog);
final AlertDialog alertDialog = builder.create();
alertDialog.show();
alertDialog.getWindow().setLayout(600,400);
}
});
我想在上面的 AlertDialog 创建中执行下面的代码:
ArrayList<Goods> Goodslist = new ArrayList<Goods>();
Goodslist = promotionAwAccess
.getGoodsByIsMerch();
LinearLayout ll1 = (LinearLayout) alertDialog
.findViewById(R.id.linearLayoutPAGoods);
final RadioButton[] rdb = new RadioButton[Goodslist.size()];
RadioGroup rdg = new RadioGroup(getActivity());
rdg.setOrientation(RadioGroup.VERTICAL);
rdg.setGravity(Gravity.RIGHT);
for (int i = 0; i < Goodslist.size(); i++) {
rdb[i] = new RadioButton(getActivity());
rdg.addView(rdb[i]);
rdb[i].setText(Goodslist.get(i)
.getGoodsName());
rdb[i].setId(i);
rdb[i].setButtonDrawable(android.R.color.transparent);
rdb[i].setCompoundDrawablesWithIntrinsicBounds(
0, 0, R.drawable.btn_radio_custom,
0);
}
ll1.addView(rdg);
抱歉一开始解释不完整。
最佳答案
AlertDialog.Builder builderSingle = new AlertDialog.Builder(
DialogActivity.this);
builderSingle.setIcon(R.drawable.ic_launcher);
builderSingle.setTitle("Select One Name:-");
final ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(
DialogActivity.this,
android.R.layout.select_dialog_singlechoice);
arrayAdapter.add("Hardik");
arrayAdapter.add("Archit");
arrayAdapter.add("Jignesh");
arrayAdapter.add("Umang");
arrayAdapter.add("Gatti");
builderSingle.setNegativeButton("cancel",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
builderSingle.setAdapter(arrayAdapter,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String strName = arrayAdapter.getItem(which);
AlertDialog.Builder builderInner = new AlertDialog.Builder(
DialogActivity.this);
builderInner.setMessage(strName);
builderInner.setTitle("Your Selected Item is");
builderInner.setPositiveButton("Ok",
new DialogInterface.OnClickListener() {
@Override
public void onClick(
DialogInterface dialog,
int which) {
dialog.dismiss();
}
});
builderInner.show();
}
});
builderSingle.show();
关于android - 创建 AlertDialog 时会触发什么方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29789172/