2013-02-01 49 views
0

我想单击AlertDialog显示的部分文本并开始新的活动。 我只是不知道它是否可能。 这里我对我的代码从消息AlertDialog创建新活动

case R.id.about: 
     final AlertDialog d = new AlertDialog.Builder(this) 
     .setPositiveButton(android.R.string.ok, null) 
     .setMessage(Html.fromHtml(getResources().getString(R.string.infoAuthor)+" <br> <a href=\"https://www.youtube.com">click here for help</a>")) 
     .create(); 
     d.show(); 
     // Make the textview clickable. Must be called after show() 
     ((TextView)d.findViewById(android.R.id.message)).setMovementMethod(LinkMovementMethod.getInstance()); 

回答

0

而不是直接设置AlertDialog的消息例如,创建一个TextView,并设置HTML和LinkMovementMethod就可以了。然后用这个TextView调用AlertDialog.Builder#setView()。使用您的代码示例:

case R.id.about: 
     TextView tv = new TextView(this); 
     tv.setText(Html.fromHtml(getResources().getString(R.string.infoAuthor)+" <br> <a href=\"https://www.youtube.com">click here for help</a>"); 
     tv.setMovementMethod(LinkMovementMethod.getInstance()); 

     final AlertDialog d = new AlertDialog.Builder(this) 
     .setPositiveButton(android.R.string.ok, null) 
     .setView(tv); 
     .create(); 
     d.show(getFragmentManager, "tag"); 
+0

将很高兴看到一些代码示例 –

+0

我添加了代码。 – user697495