我正在尝试使用intent.puExtra函数将HashMap传递给新活动.单步执行调试器似乎它添加了HashMap没有问题,但是当调用startActivty()时,我得到一个运行时错误,指出Parcel:无法编组值com.appName.Liquor.
Liquor是我创建的一个自定义类,我相信它与HashMap结合使用会导致问题.如果我传递一个字符串而不是我的HashMap,它加载下一个活动没问题.
主要活动
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
String cat = ((TextView) view).getText().toString();
Intent i = new Intent(OhioLiquor.this, Category.class);
i.putExtra("com.appName.cat", _liquorBase.GetMap());
startActivity(i);
Run Code Online (Sandbox Code Playgroud)
酒类
public class Liquor
{
public String name;
public int code;
public String category;
private HashMap<String, Bottle> _bottles;
public Liquor()
{
_bottles = new HashMap<String, Bottle>();
}
public void AddBottle(Bottle aBottle)
{
_bottles.put(aBottle.size, aBottle);
}
}
Run Code Online (Sandbox Code Playgroud)
子活动
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
HashMap<Integer, Liquor> map = (HashMap<Integer, Liquor>)getIntent().getSerializableExtra("com.appName.cat"); …Run Code Online (Sandbox Code Playgroud) 我正在试图弄清楚如何包含外部JavaScript源(图表),但仅限于网站上的单个页面.可以在视图或模板中完成吗?
我发现只是添加<script src="exhibit.js"></script>到页面模板不起作用.如果我将它添加到整个站点的模板,它加载就好了,但是它会加载到每个页面上.
我问题的另一面可能更具体.有没有办法在每次加载页面时获取脚本?示例:当我第一次访问包含展示脚本的页面时,它会加载包含展览的ember应用程序并正确显示页面.我离开页面,当我返回到页面时,展览脚本没有被重新加载,因此不能像第一次访问时那样正确地重新绘制页面.