简单的方式在活动和意图之间传递arraylist

时间:2014-03-15 13:03:57

标签: android android-intent arraylist

我正在学习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 个答案:

答案 0 :(得分:1)

当你在意图服务中提取数组列表时,你调用了错误的密钥,它应该是:

ArrayList<String> lista_archivos = intent.getStringArrayListExtra("lista");
Log.d ("Intent", Integer.toString(lista_archivos.size()));

将lista_actual替换为lista。

答案 1 :(得分:0)

您需要序列化arraylist才能在活动之间传递。将找到进一步的帮助here。希望有所帮助