我有HashMap
我已经解析了一些JSON数据。地图有一些字符串值,即Urls。我将地图值显示为ListView
。我想将与该特定列表条目相关联的Url打开到另一个包含WebView
的活动中。
但是当我尝试在活动之间传递值时,我得到NullPointerException
。
这是我的代码: -
MainActivity.java
map = new HashMap<String,String>();
map.put(SOURCETITLE, title);
map.put(TITLE, description);
map.put(THUMBNAILPATH, thumbnail);
myNewsList.add(map);
}
ArrayList<HashMap<String, String>> myList = new ArrayList<HashMap<String,String>>();
itemsAdapter = new LazyAdapter(this, myList);
newsList.setAdapter(itemsAdapter);
newsList.setOnItemClickListener(new OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> arg0,
View arg1, int position, long arg3)
{
// TODO Auto-generated method stub
Intent nIntent = new Intent(Home.this,DetailedInfo.class);
nIntent.putExtra("Items", myList);
startActivity(nIntent);
}
});
DetailedInfo.Java
Intent in = getIntent();
data = (ArrayList<HashMap<String, String>>) in.getSerializableExtra("Items");
for(int pos=0;pos<data.size();pos++)
{
HashMap<String, String> urls = data.get(pos);
String newUrl = urls.get(Home.URL);
}
myNews = (WebView)findViewById(R.id.webNewsDetails);
myNews.getSettings().setJavaScriptEnabled(true);
myNews.loadUrl(newUrl);
myNews.setWebViewClient(new WebViewClient()
{
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
// TODO Auto-generated method stub
view.loadUrl(url);
return true;
}
});
答案 0 :(得分:2)
您使用密钥"Items"
放置HashMap并尝试使用密钥"NewsItems"
进行检索。您应该使用相同的键来放置和检索元素。
编辑:
你正在向错误的对象施放。您传递HashMap<String, String>
的实例并将其投射到ArrayList<HashMap<String, String>>