AlertDialogにいくつかのパラメータを渡そうとしていましたが、このダイアログはこれらの2つのパラメータ(「foo」と「bar」パラメータを想定)を表示しています。このダイアログはshowDialog(int id)
を呼び出しています。アクティビティクラスにはオブジェクトにパラメータを渡す別のメソッドがあります: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);
...
はどうもありがとうございました!