将 ArrayAdapter 发送到另一个 activity 的代码?
Code for sending ArrayAdapter to another activity?
因为我们可以像这样将 String 类型发送到另一个 activity
public static final String EXTRA_MESSAGE =
"com.example.android.twoactivities.extra.MESSAGE";
这个的代码应该是什么
private static final ArrayAdapter LIST_OF_CUSTOMERS =
P.S.- 我正在 MainActivity 中编写这段代码,并希望以 ListView 的形式将数据库发送到另一个名为 saveScreenactivity 的数据库
我的第一个建议是为什么第二个 activity 不能简单地查询数据库本身?
除此之外,如果必须的话,我建议将 ArrayAdapter
的结果放入 ArrayList
并在调用第二个 activity 时使用 Bundle.putParcelableArrayList。
参见 here or this 将 Bundle 传递给 Activity 并再次读回它们的值,但本质上你会在调用第二个 activity:
时执行类似的操作
Intent intent = new Intent(this, SecondActivity.class);
Bundle bundle = new Bundle();
bundle.putParcelableArrayList("LIST_OF_CUSTOMERS", arrayListOfCustomers);
intent.putExtras(bundle);
startActivity(intent);
在第二个里面 Activity:
ArrayList<..> customers = getActivity().getIntent().getParcelableArrayListExtra<..>("LIST_OF_CUSTOMERS");
if (customers != null) {
// do something with the data
}
唯一要记住的是,无论您的列表是什么类型,即 ArrayList<Customer>
、Customer
class 都需要实现 Parcelable
接口。有关更多信息,请参阅 here or here。
因为我们可以像这样将 String 类型发送到另一个 activity
public static final String EXTRA_MESSAGE =
"com.example.android.twoactivities.extra.MESSAGE";
这个的代码应该是什么
private static final ArrayAdapter LIST_OF_CUSTOMERS =
P.S.- 我正在 MainActivity 中编写这段代码,并希望以 ListView 的形式将数据库发送到另一个名为 saveScreenactivity 的数据库
我的第一个建议是为什么第二个 activity 不能简单地查询数据库本身?
除此之外,如果必须的话,我建议将 ArrayAdapter
的结果放入 ArrayList
并在调用第二个 activity 时使用 Bundle.putParcelableArrayList。
参见 here or this 将 Bundle 传递给 Activity 并再次读回它们的值,但本质上你会在调用第二个 activity:
时执行类似的操作Intent intent = new Intent(this, SecondActivity.class);
Bundle bundle = new Bundle();
bundle.putParcelableArrayList("LIST_OF_CUSTOMERS", arrayListOfCustomers);
intent.putExtras(bundle);
startActivity(intent);
在第二个里面 Activity:
ArrayList<..> customers = getActivity().getIntent().getParcelableArrayListExtra<..>("LIST_OF_CUSTOMERS");
if (customers != null) {
// do something with the data
}
唯一要记住的是,无论您的列表是什么类型,即 ArrayList<Customer>
、Customer
class 都需要实现 Parcelable
接口。有关更多信息,请参阅 here or here。