我有一个ListView
我在哪里存储一些URL和我使用一个ArrayList这是该类型ArrayList<HashMap<String,String>>
的加载列表视图中的内容。我正在尝试使用下面的代码片段来处理这个列表的点击。Android的 - ListView的点击给出索引越界异常
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int pos,
long arg3) {
System.out.println("List Clicked..." + pos);
System.out.println("URL: " + listView.getItemAtPosition(pos).toString());
}
});
第一SOP正确执行,但第二个打印语句是给我下面的错误 ERROR/AndroidRuntime(382): java.lang.IndexOutOfBoundsException: Invalid location 0, size is 0
这里是我的适配器的getView()
@Override
public View getView(int position, View arg1, ViewGroup arg2) {
View v = arg1;
if (v == null)
{
LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.list_row, null);
}
t1=(TextView) v.findViewById(R.id.text1);
HashMap<String, String> values = storedURLArrayList.get(position);
t1.setText(values.get("value"));
return v;
}
请帮助。
您使用自定义适配器还是自定义ListView ...? – ngesh
我认为listView.getItemAtPosition(pos)会给你一个特定的HashMap位于被点击的位置,所以这可能是一个问题。我不确定但是.. –
您能否请您添加一些关于您的问题的更多代码和解释? –