【问题标题】:Simple manner pass arraylist between activity and intent在活动和意图之间传递数组列表的简单方式
【发布时间】:2014-03-15 13:03:57
【问题描述】:

我正在学习 Android(目前我是新手)。 我正在寻找和阅读另一篇文章,但我还没有完全找到(或不简单)。 我想将一个数组列表从一个活动传递给一个意图服务,我认为这是最简单的方法;但是我得到 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()));
.
.
.

谢谢。

【问题讨论】:

  • 您也可以使用static ArrayList 来实现同样的目的。

标签: android android-intent arraylist


【解决方案1】:

当您在意图服务中获取您的数组列表时,您调用了错误的键,它应该是:

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

将 lista_actual 替换为 lista。

【讨论】:

  • 是的,几秒钟前我看到了(我不等这么快回复)。谢谢,是的,多么愚蠢! :)
【解决方案2】:

您需要序列化 ​​arraylist 以便在活动之间传递。更多帮助将在here 中找到。希望有帮助

【讨论】:

    猜你喜欢
    • 2013-07-22
    • 2012-02-05
    • 1970-01-01
    • 2017-07-03
    • 1970-01-01
    • 1970-01-01
    • 2017-05-16
    • 2019-05-02
    • 1970-01-01
    相关资源
    最近更新 更多