单击String.xml文本的一部分时,如何显示对话框?我有一个很长的字符串,我希望在单击它时使字符串的一部分显示一个对话框。
现在,我不希望文本带我到一个链接;但它应该看起来像一个链接。然后,它应该在单击文本时转到对话框活动。文本也不应该像按钮一样显示。它应该看起来像一个链接文本,但它应该在单击时显示一个对话框。此外,该对话框包含一系列字符串,以显示有关所单击文本的更多信息。
这是我的String.xml
在新生的时候,信徒应该成长(彼前2:2)。这种成长来自我们的主和救主,耶稣基督(彼前3:18)的知识,他们是本质,实质和见证。圣经(约翰福音5:39,路加福音24:25-27,44-47)。我们希望教导耶稣是上帝之道的人(约翰福音1:1-17),并且这样做,找出他为我们所做的,我们在他里面的人以及我们在他里面所拥有的。我们也通过调查向我们启示上帝的耶稣来寻求关于上帝的真理(希伯来书1:1-3,哥林多后书4:3-4,西1:12-15)。此外,信徒应该在他的行为中荣耀上帝(哥林多后书10:31),他要负责任并且行在他是谁的现实中。他要被赐给上帝的服务(罗马书12:11)。我们祈祷你得到圣灵的智慧和启示,并在我们一起努力学习本手册时增加知识和理解。祝福!
我想点击(1 Pet.2:2)以显示一个对话框,其中包含圣经参考的信息。
试试这样吧
public void makeLinks(TextView textView, String[] links, ClickableSpan[] clickableSpans) {
SpannableString spannableString = new SpannableString(textView.getText());
for (int i = 0; i < links.length; i++) {
ClickableSpan clickableSpan = clickableSpans[i];
String link = links[i];
int startIndexOfLink = textView.getText().toString().indexOf(link);
spannableString.setSpan(clickableSpan, startIndexOfLink, startIndexOfLink + link.length(),
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}
textView.setMovementMethod(LinkMovementMethod.getInstance());
textView.setText(spannableString, TextView.BufferType.SPANNABLE);
}
在onCreate()方法中
ClickableSpan yourstringClick = new ClickableSpan() {
@Override
public void onClick(View view) {
openyourdialoghere()
}
};
makeLinks(tvLink, new String[]{"your string"}, new ClickableSpan[]{
yourstringClick
});
编辑
对于多个字符串
ClickableSpan yourstringClick2 = new ClickableSpan() {
@Override
public void onClick(View view) {
openyourdialoghere()
}
};
makeLinks(tvLink, new String[]{"your string","your string 2"}, new ClickableSpan[]{
yourstringClick,yourStringClick2
});