有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Android Studio通过intent传递ArrayList并填充ListView

我想用从另一个活动中获取的数组填充ListView。 ListView活动崩溃,出现以下错误:

Caused by: java.lang.NullPointerException: Attempt to invoke interface method 'int java.util.List.size()' on a null object reference

这是我的ListView类:

public class CarrinhoActivity extends Activity {

    private ListView lv;



    @Override
    public void onCreate(Bundle saveInstanceState) {
        super.onCreate(saveInstanceState);
        setContentView(R.layout.activity_carrinho);


       lv = (ListView) findViewById(R.id.ListViewCarrinho);

        ArrayList<String> lista_carrinho = getIntent().getStringArrayListExtra("lista_carrinho");

        ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(
                this,
                安卓.R.layout.simple_list_item_1,
                lista_carrinho );

        lv.setAdapter(arrayAdapter);

    }
}

错误指向第37行:其中lv.setAdapter(arrayAdapter);


共 (1) 个答案

  1. # 1 楼答案

    在进入此活动之前,请将列表转换为json,然后传递此json

    intent.putExtra("myList",new Gson().toJson(lista_carrinho));
    

    然后在你的第二个活动中 拉动字符串并将其转换为ArrayList,然后将其应用于适配器