如何设置七个字符串的三个字母,有些会是空的
Posted
技术标签:
【中文标题】如何设置七个字符串的三个字母,有些会是空的【英文标题】:How to set three letters of seven strings and some would be empty 【发布时间】:2016-01-22 01:22:16 【问题描述】:我有一个方法可以获取我的preferences
的一些值并在屏幕上显示TextView
。这个preferences
设置在listview
中。用户可以设置一周中的 1 到 7 天,当在checkbox
中选择一个时,一天的名称将在他的偏好中设置。如果没有按任何checkbox
或者如果用户禁用checkbox
,我设置一个空字符串。
我的问题是,如果我有超过两天的选择,我必须在textView
中只显示当天的三个首字母。
这是我的代码,我正在尝试这样做.....
提前致谢!
public void refreshDays()
TextView listDays = (TextView)findViewById(R.id.dayText);
String monday = HmApplication.prefs().getString(HmApplication.PREF_MONDAY, "");
String tuesday = HmApplication.prefs().getString(HmApplication.PREF_TUESDAY, "");
String wednesday = HmApplication.prefs().getString(HmApplication.PREF_WEDNESDAY, "");
String thursday = HmApplication.prefs().getString(HmApplication.PREF_THURSDAY, "");
String friday = HmApplication.prefs().getString(HmApplication.PREF_FRIDAY, "");
String saturday = HmApplication.prefs().getString(HmApplication.PREF_SATURDAY, "Saturday, ");
String sunday = HmApplication.prefs().getString(HmApplication.PREF_SUNDAY, "Sunday");
//I'm trying to do this, but is not work....
if(!monday.isEmpty() && !tuesday.isEmpty() && !wednesday.isEmpty())
listDays.setText(monday.substring(0,3) + tuesday.substring(0,3) + wednesday.substring(0,3) + thursday + friday + saturday + sunday);
例如,我想在输出中得到这个:
Mon, Wed, Thu, Sat
PS:请注意,输出中没有的字符串是因为该字符串为空,因为用户在设置首选项的复选框中禁用了它。
【问题讨论】:
不确定你的意思.. 我的输出是 listDays。这是我将数据放在屏幕上的地方 你的意思是不起作用。它显示什么???有什么错误吗??如果不是显示的值? 我的意思是如果字符串为空我有一个错误 outOfIndex。因为我可以有一个空字符串或一个带数据的字符串 不清楚。您在哪一行出现错误? @Zahan。我编辑我的问题。现在更清楚了吗? 【参考方案1】:试试这个.....
StringBuilder s = new StringBuilder();
s.append(monday.isEmpty() ? "" : monday.substring(0,3))
.
.
.
.
listDays.setText(s);
【讨论】:
以上是关于如何设置七个字符串的三个字母,有些会是空的的主要内容,如果未能解决你的问题,请参考以下文章