ハッシュタグを含むテキストビューがあります。#first #second #third
. 私の質問は、どのハッシュタグがクリックされたかを検出して、何らかのアクションを実行できるようにする方法です。言葉を乾杯します。これは TextView ウィジェットを使用して可能ですか? 代わりに他のウィジェットを使用する必要がありますか?
アップデート
この例を使用して解決策を見つけました。将来的に他の人に役立つことを願っています!
ハッシュタグを含むテキストビューがあります。#first #second #third
. 私の質問は、どのハッシュタグがクリックされたかを検出して、何らかのアクションを実行できるようにする方法です。言葉を乾杯します。これは TextView ウィジェットを使用して可能ですか? 代わりに他のウィジェットを使用する必要がありますか?
アップデート
この例を使用して解決策を見つけました。将来的に他の人に役立つことを願っています!
これを実現するには、スパン可能な文字列を使用できます。
SpannableString ss = new SpannableString("Your string");
String[] words = ss.split(" ");
for(final String word : words){
if(word.startsWith("#")){
ClickableSpan clickableSpan = new ClickableSpan() {
@Override
public void onClick(View textView) {
//use word here to make a decision
}
};
ss.setSpan(clickableSpan, ss.indexOf(word), ss.indexOf(word) + word.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}
}
TextView textView = (TextView) findViewById(R.id.hello);
textView.setText(ss);
textView.setMovementMethod(LinkMovementMethod.getInstance());