2017-01-12 4 views
0

У меня есть список, который я хочу преобразовать в String [], чтобы я мог передать его как дополнение с намерением.Как передать список <String> в качестве дополнения?

List<String> votedBy = parseObject.getList("votedBy"); 

Намерение логика:

Intent intent = new Intent(CommentActivity.this, UsersListActivity.class); 
intent.putExtra(BundleConstants.KEY_LIST_TYPE, getString(R.string.voters)); 
intent.putExtra(BundleConstants.KEY_VOTERS_LIST, votedBy); 
startActivity(intent); 

Моя первая мысль была, чтобы преобразовать содержимое списка в строку [], но этот список извлекается из базы данных и ее размер не известен априорно , Одно из моих предложений заключалось в том, чтобы отдать список избранных списков как возможно. Я не могу запустить код на данный момент, поэтому я не уверен, что это сработает. Что мне здесь делать?

+1

FYI: Строка является последовательной. – Blackbelt

ответ

6

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

  Intent intent = getIntent(); 
      intent.putStringArrayListExtra("votedBy",new ArrayList<>(votedBy)); 

Для получения этой формы можно использовать;

ArrayList<String> votedByList= getIntent().getStringArrayListExtra("votedBy"); 
+0

И получить с помощью '' bundle.getIntArray ("BundleConstants.KEY_VOTERS_LIST") '' Я принимаю это? – santafebound

+0

Я также обновил для извлечения. –

+0

Спасибо. Это работает. – santafebound

1

Насколько я знаю, список не может быть передан в качестве дополнения.

Я бы предложил передать исходную строку, полученную из базы данных, затем проанализировать ее непосредственно при новом действии (UserListActivity).

1

Я думаю, вы должны попробовать с

List<String> list = ..; 
String[] array = list.toArray(new String[0]); 

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

 Смежные вопросы

  • Нет связанных вопросов^_^