InfoDialog dialog = new InfoDialog(context); Bundle args = new Bundle(); String fromprize = "prize1"; args.putString(InfoDialog.BUNDLE_KEY_PRIZE, fromprize); dialog.setArguments(args); dialog.show();
InfoDialog.java
package com.tsots.PieFee; import android.app.Dialog; import android.app.DialogFragment; import android.content.Context; import android.view.View.OnClickListener; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.widget.Button; import android.widget.TextView; public class InfoDialog extends DialogFragment{ Context context; public static final String BUNDLE_KEY_PRIZE = "bundle_key_prize"; Dialog dialog; Button closeButton; TextView prizeName, prizeContent; String prizeNum = ""; public InfoDialog(Context context) { this.context = context; } @Override public void onStop() { super.onStop(); } public void setArguments(Bundle args) { LayoutInflater inflater = LayoutInflater.from(context); View dialogview = inflater.inflate(R.layout.layout_infodialog, null); dialog = new Dialog(context, R.style.InfoDialog); dialog.setContentView(dialogview); Bundle arguments = args; if (arguments.containsKey(BUNDLE_KEY_PRIZE)) { prizeNum = arguments.getString(BUNDLE_KEY_PRIZE); initViewComponet(dialog, prizeNum); } } private void initViewComponet(final Dialog dialog, String prizeNum) { closeButton = (Button) dialog.findViewById(R.id.closeButton); closeButton.setOnClickListener(closeButtonOnClickListener); prizeName = (TextView) dialog.findViewById(R.id.prizeName); prizeContent = (TextView) dialog.findViewById(R.id.prizeContent); if(prizeNum.equals("prize1")){ prizeName.setText(R.string.str_bt_firstprize); prizeContent.setText(R.string.str_tv_firstprize); }else if(prizeNum.equals("prize2")){ prizeName.setText(R.string.str_bt_secondprize); prizeContent.setText(R.string.str_tv_secondprize); }else if(prizeNum.equals("prize3")){ prizeName.setText(R.string.str_bt_collectprize); prizeContent.setText(R.string.str_tv_collectprize); } } OnClickListener closeButtonOnClickListener = new OnClickListener() { @Override public void onClick(View v) { dismiss(); } }; public void show() { dialog.show(); } @Override public void dismiss() { if(dialog!=null){ dialog.dismiss(); } } }
沒有留言:
張貼留言