从字符串中删除换行符

Iam*_*ght 5 android listview newline cursor textview

这是我的问题:我有一个数据库,里面有很多电视节目。一栏表示情节编号。我想在这样的列表中显示剧集:

  • 第1集
  • 第2集
  • 第3集
  • 等等

我正在使用自己的适配器类来扩展SimpleCursorAdapter来执行此操作...由于出现格式错误,因此我正在使用Android.R.layout.simple_list_item_1和Android.R.id.text1

基本上,我拥有自定义适配器的唯一原因是可以执行以下操作:

textView.setText("Episode " + cursor.getString("column_for_episode_number");
Run Code Online (Sandbox Code Playgroud)

问题是,我得到一个看起来像这样的列表:

  • 插曲
  • 1个
  • 插曲
  • 2
  • 插曲
  • 3

当我尝试类似的东西(在我的代码的不同部分起作用)时:

String text = "Episode " + cursor.getString("blah");
text = text.replaceAll("\\n","");
Run Code Online (Sandbox Code Playgroud)

我得到完全相同的列表输出:(

为什么不使用创建两个文本框彼此相邻的自定义视图?我很难让它看起来很漂亮:/

the*_*ude 6

text.replaceAll(System.getProperty("line.separator"), ""));
Run Code Online (Sandbox Code Playgroud)


Nik*_*ski 5

更换并再次执行相同测试之前,请检查biggining处是否有新行

for(int i=0; cursor.getString("blah").length()-1; i++)
{

   if(cursor.getString("blah").charAt(i)=='\\n')  <-- use the one constant for line separator i fogot what was the name
    { 
      Log.i("NEW LINE?", "YES, WE HAVE");
    }

}
Run Code Online (Sandbox Code Playgroud)

或使用.contains("\n");方法

还要检查xml的textview宽度。

为什么getString()在获取整数时使用?在textview中进行设置时,请使用getInt()和Integer.toString(theint)。


Kev*_*OUX 5

您的代码中有错误。使用“\n”代替“\\n”

String myString = "a string\n with new line"
myString = myString.replaceAll("\n","");
Log.d("myString",myString);
Run Code Online (Sandbox Code Playgroud)