我正在使用此代码从服务器读取响应。
public static String getContentString(HttpConnection Connection) throws IOException
{
String Entity=null;
InputStream inputStream;
inputStream = Connection.openInputStream();//May give network io
StringBuffer buf = new StringBuffer();
int c;
while ((c = inputStream.read()) != -1)
{
buf.append((char) c);
}
//Response Formation
try
{
Entity = buf.toString();
return Entity;
}
catch(NullPointerException e)
{
Entity = null;
return Entity;
}
}
我需要在对象选择字段中显示此实体。
例如:
假设我得到响应实体= ThisIsGoingToGood
然后,我需要在对象选择下拉列表中显示以下方式。
此
去
致
好
请告诉我如何实现这一目标。
答案 0 :(得分:0)
根据Nate的回答 - 试试这个 -
ObjectListField ol = new ObjectListField(ObjectListField.ELLIPSIS);
ol.setSize(words.size()); //Where words is the vector
for (int i = 0; i < size; i++)
{
ol.insert(i, words.elementAt(i));
}
add(ol);
答案 1 :(得分:0)
此解决方案假定:
字符串的 Camel Case 格式始终为开始,并带有大写字母。
即使词是首字母缩略词,也只使用一行中的一个大写字符。例如,“HTTP响应”将写为"HttpResponse"
。
public static Vector getContentStrings(HttpConnection connection) throws IOException {
Vector words = new Vector();
InputStream inputStream = connection.openInputStream();
StringBuffer buf = new StringBuffer();
int c;
while ((c = inputStream.read()) != -1)
{
char character = (char)c;
if (CharacterUtilities.isUpperCase(character)) {
// upper case -> new word
if (buf.length() > 0) {
words.addElement(buf.toString());
buf = new StringBuffer();
}
}
buf.append(character);
}
// add the last word
words.addElement(buf.toString());
return words;
}
然后,您的Vector
将有一个很好的ObjectChoiceField
选项。insert()
。然后你可以{{1}}他们,如Signare的回答所示。
注意:也要记得关闭你的溪流。不过,我会留给你决定你什么时候完成它。