sách gpt4 ai đã đi

java - 使用 Parcelable 传递 Arraylist,传递 null

In lại 作者:行者123 更新时间:2023-12-02 13:39:17 27 4
mua khóa gpt4 Nike

Github:https://github.com/jjvang/PassIntentDemo

我一直在关注有关按 Intent 传递对象的教程:https://www.javacodegeeks.com/2014/01/android-tutorial-two-methods-of-passing-object-by-intent-serializableparcelable.html

我从教程中了解到,如果您只有一组这样的值,如何发送实现 Parcelable 的 Arraylist:

  public void PacelableMethod(){  
Book mBook = new Book();
mBook.setBookName("Android Developer Guide");
mBook.setAuthor("Leon");
mBook.setPublishTime(2014);
Intent mIntent = new Intent(this,ObjectTranDemo2.class);
Bundle mBundle = new Bundle();
mBundle.putParcelable(PAR_KEY, mBook);
mIntent.putExtras(mBundle);

startActivity(mIntent);
}

我已经安排了代码,以便我可以继续向 ArrayList 添加大小为 2 或更大的内容,但请注意,我传递给下一个 Activity 的 ArrayList 为 null。

我想了解是否必须以不同方式添加到 ArrayList,或者我是否只是错误地发送/捕获 Arraylist。

尝试像这样更改代码:

public void PacelableMethod(){
ArrayList words = new ArrayList();
words.add(new Book("red", "yes", 1));
words.add(new Book("mustard", "yes", 1));
Toast.makeText(this, "" + words, Toast.LENGTH_SHORT).show();
Intent intent = new Intent(this,ObjectTranDemo2.class);
intent.putExtra("Contact_list", words);
Bundle mBundle = new Bundle();
intent.putExtras(mBundle);
startActivity(intent);
}

public class ObjectTranDemo2 extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ArrayList myList = getIntent().getParcelableExtra("Contact_list");
Toast.makeText(this, "" + myList, Toast.LENGTH_SHORT).show();
}
}

请指教,谢谢!

1 Câu trả lời

我相信您需要使用 putParcelableArrayListExtra 将数组列表添加到 Intent 附加中:intent.putParcelableArrayListExtra(Contact_list", 单词)

然后用 getParcelableArrayListExtra 接收它

关于java - 使用 Parcelable 传递 Arraylist,传递 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42827229/

27 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com