「利用規約を読み、理解しました」という文字列のチェックボックスがあります。ここで、「利用規約」という単語をリンクにして、利用規約を読むことができる警告ダイアログを開くようにしたいと思います。特にない。
私は次の行で何かを考えています:
<string name="cont_agree">I have read and understood the <a ref="open alertdialog">terms and conditions.</a></string>
それは可能ですか?「アラートダイアログを開く」と表示されている場所で何を使用すればよいですか? この方法でできない場合は、どうすればよいですか?
追加: URL を開くには、次のコードを使用します。
<string name="cont_agree"><a ref="http://www.stackoverflow.com">Stackoverflow</a></string>
しかし、文字列からどのようにアラート ダイアログを開くか、または別の画面を表示するのでしょうか? これを行うアプリを見たことがありますので、もちろん可能ですが、どうすればよいですか?
編集:これは私が SpannableStringBuilder に使用するコードです:
SpannableStringBuilder text = new SpannableStringBuilder();
text.append(getString(R.string.before));
//Now create a ClickableSpan
ClickableSpan clickableSpan = new ClickableSpan() {
@Override
public void onClick(View view) {
d.show(); //Here dialog will be displayed
}
};
//Now append the TOS string
text.append(getString(R.string.popup));
//Declare that the "TOS" string is a clickableSpan
text.setSpan(clickableSpan, getString(R.string.before).length(),getString(R.string.before).length()+getString(R.string.popup).length(), 0); //Check on API setSpan method
((CheckBox)findViewById(yourview)).setMovementMethod(LinkMovementMethod.getInstance());
((CheckBox)findViewById(yourview)).setText(text, BufferType.SPANNABLE);
最初の「text.append」行にまだいくつかのマーカーが表示されます。この行に複数のマーカー:
- メソッドの戻り値の型がありません
- トークン ")" の構文エラー、{ このトークンの後にあると予想される
- R.string.before を型に解決できません
- トークン ")" の構文エラー、無効な VariableDeclaratorId
- トークン「append」の構文エラー、このトークンの後に識別子が必要です