Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在文本视图中获取具有特定符号的特定行_Java_Android_Textview - Fatal编程技术网

Java 如何在文本视图中获取具有特定符号的特定行

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

我有一个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
          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”);}
我的文本视图文本是动态的,我无法为某些特定的句子编写代码。我想为每一行(例如以$、粗体或诸如此类开头)编写一些代码作为模板。对此有什么想法吗?我已经测试了这段代码,它很有效,我非常感谢您的帮助。非常感谢:-*