Java 如何在文本视图中获取具有特定符号的特定行
我有一个textview,它有一条很长的文本行,如下所示:Java 如何在文本视图中获取具有特定符号的特定行,java,android,textview,Java,Android,Textview,我有一个textview,它有一条很长的文本行,如下所示: String[] Splited=stringValue.split("\n"); String msg=""; for(int i=0;i<Splited.length;i++){ if(Splited[i].startsWith("$")) msg=msg+"<b>"+Splited[i]+"</b>"; else
String[] Splited=stringValue.split("\n");
String msg="";
for(int i=0;i<Splited.length;i++){
if(Splited[i].startsWith("$"))
msg=msg+"<b>"+Splited[i]+"</b>";
else
msg=msg+Splited[i];
}
textview.setText(Html.fromHtml(msg));
$hello我的名字都是福特我是一名电子工程师,诸如此类的废话
这里还有别的东西
所以其他文本……
$这是与第一行类似的另一行
其他正常文本也是如此 我的问题是,我如何才能只获得第一行上有$symbol的行,并将一些效果设置为那些特定的行,如粗体和红色。。不是其他线路 有什么想法吗
谢谢你的帮助 编辑:
请注意,我的文本视图文本是动态的,我不能为某些特定的句子编写代码。我想为每一行写一些代码作为模板,例如以$开头、粗体或诸如此类的内容。
我还想知道$symbole本身;此过程后,不会显示在我的文本视图中!有什么想法吗?如果您已经有了字符串上的文本,您可以使用字符串值上的拆分函数,然后使用html格式显示行,这样您就可以操纵大小和格式。下面是一个示例:
String stringValue="$your first line\n $your second line";
String[] Splited=stringValue.split("$");
//first line is in the Splited[0] and second line is in the Splited[1]
textview.setText(Html.fromHtml("<h2>Splited[0]</h2><br><p>Spl_j[Z B1]</p>"));;
String stringValue=“$your first line\n$your second line”;
String[]Splited=stringValue.split($);
//第一行在拆分的[0]中,第二行在拆分的[1]中
textview.setText(Html.fromHtml(“拆分的[0]
Spl_j[zb1]”);;
更新:
您的模板可能如下所示:
String[] Splited=stringValue.split("\n");
String msg="";
for(int i=0;i<Splited.length;i++){
if(Splited[i].startsWith("$"))
msg=msg+"<b>"+Splited[i]+"</b>";
else
msg=msg+Splited[i];
}
textview.setText(Html.fromHtml(msg));
String[]Splited=stringValue.split(“\n”);
字符串msg=“”;
对于(inti=0;i您也可以这样做,使用搜索和替换
String yourValue="$your first line\n $your second line";
String regex = "(\$.*)\n";
String formattedValue = yourValue.replaceAll(regex, "<b>$1</b>\n");
textview.setText(Html.fromHtml(formattedValue));
String yourValue=“$your第一行\n$your第二行”;
字符串regex=“(\$.*”)\n;
String formattedValue=yourValue.replaceAll(regex,“$1\n”);
setText(Html.fromHtml(formattedValue));
尝试使用Spannable String:我的文本视图文本是动态的,我无法为某些特定的句子编写代码。我想为每一行(例如以$、粗体或类似形式开头)编写一些代码作为模板。有什么想法吗?用这些行创建一个函数公共字符串formatString(String yourValue){String regex=“(\$.*)\n”;String formattedValue=yourValue.replaceAll(regex,$0\n”);return formattedValue;}
每次在将值设置到文本视图之前,将字符串传递给此函数,希望这有帮助:)这是我的代码:Intent myIntent=getIntent();if(myIntent.hastera(“myExtra”){TextView mText=(TextView)findViewById(R.id.textView1);mText.setText(myIntent.getStringExtra(“myExtra”);}
这些都是在包含textView的my activity中编写的,此textView正在使用getExtra从另一个活动获取其文本。我的问题就是关于这种情况。因为我认为您建议的代码不起作用,因为我已经为此文本视图设置了文本。我将感谢您的任何建议。谢谢..像这样修改您的代码s、 并将上述函数包含在活动中Intent myIntent=getIntent();if(myIntent.hasExtra(“myExtra”){TextView mText=(TextView)findViewById(R.id.textView1);mText.setText(formatString(myIntent.getStringExtra(“myExtra”);}
我的文本视图文本是动态的,我无法为某些特定的句子编写代码。我想为每一行(例如以$、粗体或诸如此类开头)编写一些代码作为模板。对此有什么想法吗?我已经测试了这段代码,它很有效,我非常感谢您的帮助。非常感谢:-*