我能够显示sax xml解析并且结果存储在数组列表中但该数组包含的时间与我的xml文件中的时间相同,我现在只想输入一个值,而不是重复值om同样的...当你在xml文件中查看url http://site4demo.com/artealdiaonline/output.php?lat=-34.6394879&lng=-58.3617837kkj时,这个url“TYPE”标签包含的值相同的类型多一个..我想在数组中只输入一次...我想我的qus会很清楚..亲爱的怎么办?
此代码抛出java.lang.NullPointerException
,为什么?
Spinner s = (Spinner) findViewById(R.id.Spinner01);
**ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, ciudad);**
s.setAdapter(adapter);
答案 0 :(得分:1)
您可以使用ArrayList的contains
方法检查值是否已存在。如果唯一值列表很长,则效率非常低。更好的方法是维护已添加到ArrayList的值的HashSet,并检查它而不是ArrayList本身。如果您不需要保留XML中遇到的值的顺序,只需单独使用HashSet并在解析完成后(如果需要)转换为ArrayList。
答案 1 :(得分:0)
也许将Set视为您的数据结构,例如HashSet。或者添加一些逻辑,以便不向数组添加重复项。
答案 2 :(得分:0)
ArrayList ciudad = new ArrayList(); for(int i = 0; i&lt; sitesList.getCiudad()。size(); i ++) {
if (!ciudad.contains(sitesList.getCiudad().get(i)))
{
ciudad.add(sitesList.getCiudad().get(i));
}
}
Spinner s = (Spinner) findViewById(R.id.Spinner01);
**ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, ciudad);**
s.setAdapter(adapter);