Android 警报对话框片段中的链接
我使用以下代码显示一个带有链接的简单对话框:Android 警报对话框片段中的链接,android,Android,我使用以下代码显示一个带有链接的简单对话框: String msg = "http://www.google.com" final SpannableString s = new SpannableString(msg); Linkify.addLinks(s, Linkify.ALL); Fragment dialogFrag = MyDialogFragment.newInstance(title, msg); getFragmentManager().beginTran
String msg = "http://www.google.com"
final SpannableString s = new SpannableString(msg);
Linkify.addLinks(s, Linkify.ALL);
Fragment dialogFrag = MyDialogFragment.newInstance(title, msg);
getFragmentManager().beginTransaction().add(dialogFrag, key).commit();
MyDialogFragment类:
public class MyDialogFragment extends DialogFragment {
public static MyDialogFragment newInstance(String title, String message) {
MyDialogFragment frag = new MyDialogFragment();
Bundle args = new Bundle();
args.putString("title", title);
args.putString("msg", message);
frag.setArguments(args);
return frag;
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
String title = getArguments().getString("title");
String msg = getArguments().getString("msg");
return new AlertDialog.Builder(getActivity())
.setTitle(title)
.setMessage(msg)
.setPositiveButton(android.R.string.ok, null)
.create();
}
}
该对话框不显示超链接。我使用的是没有支持库的android 5.0.1。构建一个
文本视图
,将您的消息作为span导航字符串
:
String title = getArguments().getString("title");
String msg = getArguments().getString("msg");
final TextView textView = new TextView(getActivity());
final SpannableString spannableMsg = new SpannableString(msg);
Linkify.addLinks(spannableMsg, Linkify.WEB_URLS);
textView.setText(spannableMsg);
textView.setMovementMethod(LinkMovementMethod.getInstance());
并添加文本视图
,而不是指定文本:
return new AlertDialog.Builder(getActivity())
.setTitle(title)
.setView(textView)
.setPositiveButton(android.R.string.ok, null)
.create();