2012-02-04 14 views
0

我正在实现一个具有使用http post创建和发布消息的功能的应用程序。我正在做的是,我从edittext获取文本并将其添加到NameValuepair并将其附加到帖子网址。我的问题是在发布消息之后,在我使用换行符的消息中显示'n'。我的意思是,在输入消息的时候,无论我按下Enter按钮的哪个位置都显示'n',而输入时我可以放入换行符,但在发布 后,它只显示'n',整个身体只显示单行。这是代码。在Android中显示新行的字符n

etMessage = (EditText)findViewById(R.id.etMessageCreate);  
etMessage.setSingleLine(false); 
etMessage.setInputType(etMessage.getInputType()|EditorInfo.TYPE_TEXT_FLAG_CAP_SENTENCES); 
nameValuePairs = new ArrayList<NameValuePair>(10); 
nameValuePairs.add(new BasicNameValuePair("message",etMessage.getText().toString())); 
HttpClient httpclient = new DefaultHttpClient(); 
HttpPost request = new HttpPost(url); 
request.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 

这里是xml。

<EditText 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:background="@android:drawable/editbox_dropdown_light_frame" 
    android:id="@+id/etMessageCreate" 
    android:layout_marginLeft="10dp" 
    android:layout_marginRight="10dp" 
    android:layout_below="@id/etSubject" 
    android:gravity="top" 
    android:scrollbars="vertical" 
    android:inputType="textNoSuggestions|textVisiblePassword" 
    android:minHeight="100dp" 
    android:paddingLeft="5dp" 
    android:paddingRight="5dp"/> 
+0

你确定它没有显示\ n呢?这将是换行符的替代品! – theomega 2012-02-04 10:14:54

+0

它只显示n .... – Aju 2012-02-04 10:47:45

回答

0

尝试将此添加到您的XML布局文件:
android:singleLine = "false"
android:inputType="textMultiLine"

我用这个和它工作得很好;)
希望这会有所帮助。

编辑: 好的,我没有注意到,你正在设置singleLine为false编程。 :)所以尝试添加textMultiLine到 “的inputType”

:)

+0

不工作的兄弟 – Aju 2012-02-04 14:45:11

0

尝试这样做:

request.setEntity(new UrlEncodedFormEntity(nameValuePairs, HTTP.UTF_8)); 
+0

setEntity()中只允许有一个参数。 – Aju 2012-02-04 14:44:51

+0

对不起,我的错。编码参数传递给'UrlEncodedFormEntity'的构造函数 – Jin35 2012-02-04 17:00:51