POSTMAN - получить кодировку параметров запроса url в datetime с часовым поясом + проблема с значком [дублировать]

Ответ на ваш вопрос: android.R.id.text1 is int: Идентификатор TextView в ресурсе макета, который будет заполнен.

ArrayAdapter имеет так много конструкторов с различным количеством аргументов. Я упоминаю некоторые из их

ArrayAdapter(Context context, int resource)
ArrayAdapter(Context context, int resource, int textViewResourceId)
ArrayAdapter(Context context, int resource, T[] objects)
ArrayAdapter(Context context, int resource, int textViewResourceId, T[] objects)
ArrayAdapter(Context context, int resource, List<T> objects)
ArrayAdapter(Context context, int resource, int textViewResourceId, List<T> objects)

Теперь вы можете понять, что каждый конструктор отличается, и они использовали другой список аргументов.

И простой ответ: вы можете использовать ArrayAdapter с текстовым представлением внутри целевого xml-файла или без него. Это неважно. И вам не нужно указывать идентификатор текста, который вы можете использовать без него. Но вам, возможно, придется перейти с некоторым предварительным вариантом с вашим простым списком, вы должны пойти с текстовым представлением.!

Здесь пример примера

ArrayAdapter adapter = new ArrayAdapter<String>(this,R.layout.ListView,StringArray);
ListView listView = (ListView) findViewById(R.id.listview);
listView.setAdapter(adapter);

Это также действительный код вы можете использовать с гораздо более ясным.

46
задан animuson 6 September 2012 в 23:07
поделиться

3 ответа

Символ + имеет специальное значение в url =>, это означает пробел. Если вы хотите использовать знак +, вам нужно URL-кодировать его:

body=Hi+there%2bHello+there

Вот пример того, как вы могли бы правильно генерировать URL-адреса в .NET:

var uriBuilder = new UriBuilder("https://mail.google.com/mail");

var values = HttpUtility.ParseQueryString(string.Empty);
values["view"] = "cm";
values["tf"] = "0";
values["to"] = "someemail@somedomain.com";
values["su"] = "some subject";
values["body"] = "Hi there+Hello there";

uriBuilder.Query = values.ToString();

Console.WriteLine(uriBuilder.ToString());

Результат

https://mail.google.com:443/mail?view=cm&tf=0&to=someemail%40somedomain.com&su=some+ subject & amp; body = Hi + there% 2bHello + there

74
ответ дан ΩmegaMan 19 August 2018 в 05:39
поделиться
  • 1
    Фантастический, не знал об этом варианте создания запроса – Bertvan 30 April 2013 в 12:11
  • 2
    В RFC четко сказано, что знак + можно использовать некодированным, а также, если он должен быть закодирован, нет причин превращать его в «пространство». персонаж. Возможно, вы можете указать нам на правильный документ стандарта, в котором упоминается, что такое перевод символа + в символ пространства и наоборот. – Pablo Ariel 22 November 2013 в 20:44
  • 3
    Да, о чем ты говоришь? Я никогда не видел RFC или что-либо, что говорит + означает пробелы .... – freedrull 14 December 2015 в 08:56
  • 4
    Предупреждение: Если вы используете свойство Uri в UriBuilder, вы получите плохой результат. uriBuilder.Uri.ToString() в вашем примере вернет Hi+there+Hello+there. Использование uriBuilder.Uri.AbsoluteUri похоже работает корректно, и stackoverflow.com/a/15120429/1931573 предполагает, что это исправлено в .NET 4.5. Что касается RFC, спецификация HTML 4 говорит, что URL-адрес querystring имеет тип application/x-www-form-urlencoded, который сам определяет (+) как значение пробела. Таким образом, это не RFC, а является частью стандарта HTML. – Nick 14 June 2016 в 23:22
  • 5
    @freedrull, но он действительно работает таким образом - это показывает количество upvotes – godblessstrawberry 16 November 2016 в 22:16

Вам нужен символ плюса (+) в теле, который вы должны его кодировать как 2B.

Например: Попробуйте

15
ответ дан Black Frog 19 August 2018 в 05:39
поделиться

Безопаснее всегда кодировать все символы, кроме тех, которые определены как «безоговорочно» в RFC-3986.

unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"

Итак, процентное кодирование символа плюса и других специальных символов.

Проблема, которую вы испытываете с плюсами, заключается в том, что, согласно RFC- 1866 (спецификация HTML 2.0), пункт 8.2.1. подпункт 1. «Имена и значения полей формы сбрасываются: символы пробела заменяются на« + », а затем зарезервированные символы экранируются»). Этот способ кодирования данных формы также приведен в более поздних спецификациях HTML, ищите соответствующие абзацы о приложении / x-www-form-urlencoded.

2
ответ дан Maxim Masiutin 19 August 2018 в 05:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: