Я изучаю Android (на данный момент ОЧЕНЬ новичок). Я искал и читал другие сообщения, но я не нашел этого (или не простого). Я хочу передать Arraylist из операции в службу намерений, я думаю, что это самый простой способ сделать это; однако я получаю исключение NullPointer.
public class MainActivity extends Activity {
private static final String TAG = "Main";
ArrayList<String> lista_actual = new ArrayList<String>();
...
public void onClick (View v) {
Intent msgIntent = new Intent(MainActivity.this, MiIntentService.class);
lista_actual.add("probasndo cad");
lista_actual.add("dfafsadf");
lista_actual.add("dfasf");
msgIntent.putStringArrayListExtra("lista", lista_actual);
msgIntent.putExtra("iteraciones", 10);
startService(msgIntent);
//copiar();
}});
Затем, где я пытаюсь получить массив:
protected void onHandleIntent(Intent intent)
{
ArrayList<String> lista_archivos = intent.getStringArrayListExtra("lista_actual");
Log.d ("Intent", Integer.toString(lista_archivos.size()));
.
.
.
Спасибо.
2 ответа
Пока вы вызываете свой Arraylist в сервисе намерения, вызывая неправильный ключ, он должен быть:
ArrayList<String> lista_archivos = intent.getStringArrayListExtra("lista");
Log.d ("Intent", Integer.toString(lista_archivos.size()));
Замените lista_actual на lista.
Вам необходимо сериализовать arrayylist, чтобы переходить между действиями. Дополнительную помощь можно найти здесь. надеюсь, это поможет
Похожие вопросы
Связанные вопросы
Новые вопросы
android
Android — это мобильная операционная система Google, используемая для программирования или разработки цифровых устройств (смартфонов, планшетов, автомобилей, телевизоров, одежды, очков, IoT). Для тем, связанных с Android, используйте теги, специфичные для Android, такие как android-intent, android-activity, android-adapter и т. д. Для вопросов, отличных от разработки или программирования, но связанных с Android framework, используйте эту ссылку: https://android .stackexchange.com.
static ArrayList
для достижения того же.