我試圖將一些參數傳遞給AlertDialog,此對話框大多顯示了這兩個參數(假設「foo」和「bar」參數),並且我使用showDialog(int id)
調用此對話框。在Activity類中有另一種方法,它採用Bundle
對象傳遞參數:showDialog(int id, Bundle args)
,但此方法僅適用於API 8或更高版本,我需要使用API 7.將參數傳遞給Android中的AlertDialog
在這裏,我放了一些代碼塊使我所做的更容易。
在我的活動我創建AlertDialog這樣的:
protected Dialog onCreateDialog(int id) {
final LayoutInflater factory = LayoutInflater.from(this);
switch(id) {
case DIALOG_ID:
final View view = factory.inflate(R.layout.dialog_layout, null);
final TextView fooValue = (TextView)view.findViewById(R.id.foo_label);
final TextView barValue = (TextView)view.findViewById(R.id.foo_label);
//fooLabel.setText("HERE MUST BE FOO PARAMETER VALUE");
//barLabel.setText("HERE MUST BE BAR PARAMETER VALUE");
return new AlertDialog.Builder(this).
setIcon(R.drawable.icon).
setTitle(R.string.app_name).
setView(view).
setPositiveButton(R.string.close, null).
create();
...
而在另一部分我把這個對話框:
// THESE PARAMETERS MUST BE PASSED TO DIALOG
int foo = result.getInt("foo");
String bar = result.getString("bar");
showDialog(DIALOG_ID);
...
非常感謝您!