1

Todolist アプリケーションを使用していますが、あるアクティビティの customlist を別のアクティビティに渡すことができません。データ ラッパーを使用していますが、追加ボタンをクリックするとプログラムで nullpointerexception が発生します。

これは AddItem.java です

  okButton.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View arg0) {

            ArrayList<Entry> itemList = new ArrayList<Entry>();

            task = editText1.getText().toString();
            priorityLevel = spinner.getSelectedItem().toString();
            status = toggleButton.getText().toString();

            int day = datePicker.getDayOfMonth();
            int month = datePicker.getMonth() + 1;
            int year = datePicker.getYear();

            date = day + "/" + month + "/" + year;





            itemList.add(new Entry(task, priorityLevel, date, status));

            Intent okIntent = new Intent();
            okIntent.putExtra("item",new DataWrapper(itemList));
            setResult(Activity.RESULT_OK, okIntent);
            finish();
        }
    });

および MainActivity.java

    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (resultCode == Activity.RESULT_OK) {

        switch (requestCode) {
        case ADD_NOTE:
            Log.w("1", "one");

            DataWrapper dw = (DataWrapper) getIntent().getSerializableExtra("item");

            Log.w("2", "two");

            entryList = dw.getEntryList();

            Log.w("3", "three");

            //String extraName = AddItem.code;
            //ArrayList<Entry> list = data.getParcelableArrayListExtra(extraName);
            todoItems.addAll(entryList);

            Log.w("4", "four");

            todoArrayAdapter.notifyDataSetChanged();

            Log.w("5", "five");

            break;
4

3 に答える 3

1

ArrayList は Serializable を実装します

インテントを使用できます

ArrayList<String> mylist = new ArrayList<String>();  
Intent intent = new Intent(ActivityName.this, Second.class);
intent.putStringArrayListExtra("key", mylist);
startActivity(intent);

取得するには

Intent i = getIntent();  
ArrayList<String> list = i.getStringArrayListExtra("key");
于 2013-11-11T12:04:50.147 に答える
1
于 2013-11-11T12:05:45.743 に答える
1

交換

DataWrapper dw = (DataWrapper) getIntent().getSerializableExtra("item");

DataWrapper dw = (DataWrapper) data.getSerializableExtra("item");

onActivityResult() で...

于 2013-11-11T12:07:30.110 に答える