我已经基于一个正式的Android示例创建了一个单独的消息弹出类,但我无法弄清楚如何从另一个活动启动此对话框。弹出类是:
public class PopupMessage extends DialogFragment {
String message = "";
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the Builder class for convenient dialog construction
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setMessage(message)
.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
//
}
});
// Create the AlertDialog object and return it
return builder.create();
}
}
在我的其他课程中,我创建了一个实例:
import com.mcsapp.PopupMessage;
private PopupMessage popup;
popup = new PopupMessage();
单击按钮时我想调用它。我有这个:
case R.id.chooseLocationButton:
if(editTextLocation.getText().toString().equals("")) {
popup.message = "Test";
popup.getDialog().show();
}
break;
}
我尝试过各种“弹出”命令,但都会导致崩溃。我确定它只是我找不到正确的代码。 “message”参数设置得很好,因此导入工作正常。
谢谢
答案 0 :(得分:2)
popup.show(getFragmentManager()," PopupMsgFragment");
如果您使用支持v4活动,可能需要使用getSupportFragmentManager()更改getFragmentManager()。