这是我的问题:我有一个数据库,它充满了电视节目的剧集。一列表示剧集编号。我想在这样的列表中显示剧集:
我正在使用我自己的适配器类来扩展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","");
我得到完全相同的列表输出:(
为什么我不使用创建两个文本框彼此相邻的自定义视图?让我看起来很漂亮很难:/
在更换之前检查开头是否有新行,然后再次进行相同的测试
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)
。
text.replaceAll(System.getProperty("line.separator"), ""));
您的代码中存在错误。使用“\ n”而不是“\\ n”
String myString = "a string\n with new line"
myString = myString.replaceAll("\n","");
Log.d("myString",myString);
这听起来像是在打包问题而不是换行问题。改变这个:
String text = "Episode " + cursor.getString("blah");
对此:
String text = "Episode" + cursor.getString("blah");
并查看是否会改变输出。发布你的布局xml好吗?
这适用于我(在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());
}
}
这可以帮助你:
response = response.replaceAll("\\s+","");
你试过cursor.getString(“blah”)。trim()