在Android中显示新行的字符n
我正在实现一个应用程序,它具有使用HTTPPOST创建和发布消息的功能。我正在做的是,我从edittext获取文本,并将其添加到NameValuepair,然后将其附加到帖子url。我的问题是在发布消息后,无论我在哪里使用newline,消息中都会显示“n”。我的意思是,当我输入信息时,无论我在哪里按下回车按钮,它都会显示“n”,当我输入时,我可以输入换行符,但在发布之后 它只显示“n”,而整个身体仅显示在一行中。这是代码在Android中显示新行的字符n,android,android-edittext,Android,Android Edittext,我正在实现一个应用程序,它具有使用HTTPPOST创建和发布消息的功能。我正在做的是,我从edittext获取文本,并将其添加到NameValuepair,然后将其附加到帖子url。我的问题是在发布消息后,无论我在哪里使用newline,消息中都会显示“n”。我的意思是,当我输入信息时,无论我在哪里按下回车按钮,它都会显示“n”,当我输入时,我可以输入换行符,但在发布之后 它只显示“n”,而整个身体仅显示在一行中。这是代码 etMessage = (EditText)findViewById(R
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));
etMessage=(EditText)findViewById(R.id.etMessageCreate);
etMessage.setSingleLine(false);
etMessage.setInputType(etMessage.getInputType()| EditorInfo.TYPE_TEXT_FLAG_CAP_句);
nameValuePairs=新的ArrayList(10);
添加(新的BasicNameValuePair(“message”,etMessage.getText().toString());
HttpClient HttpClient=新的DefaultHttpClient();
HttpPost请求=新的HttpPost(url);
setEntity(新的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"/>
尝试将其添加到xml布局文件中:
android:singleLine=“false”
android:inputType=“textMultiLine”
我用过这个,效果很好;)
希望这有帮助 编辑: 好的,我没有注意到,您正在以编程方式将singleLine设置为false。:)因此,尝试将textMultiLine添加到“inputType” :)尝试这样做:
request.setEntity(new UrlEncodedFormEntity(nameValuePairs, HTTP.UTF_8));
您确定它没有显示\n吗?这将是新线的替代品!它只显示n…。setEntity()中只允许一个参数。对不起,我的错误。编码参数转到
UrlEncodedFormEntity的构造函数