Tôi đang cố gắng chuyển danh sách mảng giữa các hoạt động trong Android. Danh sách chứa chuỗi. Tôi đã đọc rất nhiều về Parcelable. Tôi có cần phải tạo một Bưu kiện để vượt qua danh sách mảng Chuỗi không? Hiện tại tôi đang sử dụng putStringArrayListExtra() và getSringArrayListExtra() để truyền các danh sách thông qua các mục đích.Truyền ArrayLists trong Android
Đây là một số mã của tôi.
Intent load = new Intent(getApplicationContext(), HelloTabWidget.class);
load.putStringArrayListExtra("albums", albums);
load.putStringArrayListExtra("songs", songs);
load.putStringArrayListExtra("artists", artists);
load.putStringArrayListExtra("fileName", fileName);
Đây là phương pháp onCreate của tôi cho hành động có được danh sách mảng.
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.songlist);
Bundle extras = getIntent().getExtras();
isArtists = extras.getBoolean("artists");
isAlbums = extras.getBoolean("albums");
isSongs = extras.getBoolean("songs");
Intent get = getIntent();
songs = get.getStringArrayListExtra("songs");
artists = get.getStringArrayListExtra("artists");
albums = get.getStringArrayListExtra("albums");
fileName = get.getStringArrayListExtra("fileName");
if(isArtists == true)
updateArtistsList();
else if(isAlbums == true)
updateAlbumsList();
else if(isSongs == true)
updateSongList();
}
Lớp học lấy danh sách được cho là tạo danh sáchXem từ dữ liệu trong danh sách. Bất cứ khi nào tôi chạy mã tôi nhận được nullPointerExceptions khi cố gắng để làm cho danh sách. Tôi biết rằng mã listView của tôi hoạt động, vì vậy tôi đã thu hẹp vấn đề về các mục đích chuyển các danh sách mảng.
Xin cảm ơn trước.
EDIT: Dưới đây là một vài dòng đầu tiên từ logcat.
12-28 03:03:42.313: E/AndroidRuntime(873): FATAL EXCEPTION: main
12-28 03:03:42.313: E/AndroidRuntime(873): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.adam.mediaplayer/com.adam.mediaplayer.HelloTabWidget}: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.adam.mediaplayer/com.adam.mediaplayer.MakeListActivity}: java.lang.NullPointerException
dán một số bản ghi lỗi và số dòng mà bạn có ngoại lệ – bindal
bạn có nhận được các giá trị rỗng với các arraylists hoặc các boolean hoặc cả hai? – MikeIsrael
Tôi nghĩ rằng đó là arraylists. Các booleans làm việc tốt. –