这是我的问题: 我有一个数据库,它充满了电视节目的剧集。一列表示剧集编号。我想在这样的列表中显示剧集:
我正在使用我自己的适配器类来扩展SimpleCursorAdapter来执行此操作...
由于我遇到格式错误,因此我使用Android.R.layout.simple_list_item_1
和Android.R.id.text1
基本上我有自定义适配器的唯一原因是我可以这样做:
textView.setText("Episode " + cursor.getString("column_for_episode_number");
问题是,我得到一个如下所示的列表:
当我尝试这样的事情(在我的代码的不同部分工作)时:
String text = "Episode " + cursor.getString("blah");
text = text.replaceAll("\\n","");
我得到完全相同的列表输出:(
为什么我不使用创建两个文本框彼此相邻的自定义视图?我很难让它看起来很漂亮:/
答案 0 :(得分:4)
在更换之前检查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");
}
}
或使用.contains("\n");
方法
检查xml的textview宽度。
为什么在获取整数时使用getString()
?在textview中进行设置时,请使用getInt()
然后Integer.toString(theint)
。
答案 1 :(得分:3)
text.replaceAll(System.getProperty("line.separator"), ""));
答案 2 :(得分:2)
您的代码中存在错误。使用“\ n”而不是“\\ n”
String myString = "a string\n with new line"
myString = myString.replaceAll("\n","");
Log.d("myString",myString);
答案 3 :(得分:0)
听起来你正在打包问题而不是换行问题。改变这个:
String text = "Episode " + cursor.getString("blah");
对此:
String text = "Episode" + cursor.getString("blah");
看看是否会改变输出。请发布你的布局xml?
答案 4 :(得分:0)
这适用于我的(在android 4.4上):
(其中body是一个字符串,从手机上的EditText视图输入换行符)
for (int i=0; i<body.length(); i++) {
if (body.charAt(i) == '\n' || body.charAt(i) == '\t') {
body = body.substring(0, i) + " " + body.substring(i+1, body.length());
}
}
答案 5 :(得分:0)
这可以帮到你:
response = response.replaceAll("\\s+","");
答案 6 :(得分:-1)