我正在学习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()));
.
.
.
感谢。
答案 0 :(得分:1)
当你在意图服务中提取数组列表时,你调用了错误的密钥,它应该是:
ArrayList<String> lista_archivos = intent.getStringArrayListExtra("lista");
Log.d ("Intent", Integer.toString(lista_archivos.size()));
将lista_actual替换为lista。
答案 1 :(得分:0)
您需要序列化arraylist才能在活动之间传递。将找到进一步的帮助here。希望有所帮助