在Android中显示新行的字符n

时间:2012-02-04 10:09:59

标签: android android-edittext

我正在实施一个应用程序,它具有使用http post创建和发布消息的功能。我正在做的是,我从edittext获取文本并将其添加到NameValuepair并将其附加到post url。我的问题是在发布消息之后,在消息中它显示'n'无论我在哪里使用换行符。我的意思是在输入消息时,无论我在哪里按下Enter按钮,它都会显示'n',而输入时我可以输入换行符,但是在发布后 它只显示'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"/>

2 个答案:

答案 0 :(得分:0)

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

我用过这个,工作得很好;)
希望这有帮助。

编辑: 好吧,我没有注意到,你以编程方式将singleLine设置为false。 :)所以尝试将textMultiLine添加到&#34; inputType&#34;

:)

答案 1 :(得分:0)

尝试这样做:

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