我有一个带有以下OnItemClickListener
的listView:
mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(final AdapterView<?> parent, final View view, final int position, final long id) {
throw new IllegalArgumentException();
}
});
这将按预期抛出异常。但是,当我用IllegalArgumentException
替换IndexOutOfBoundsException
时,不会按预期抛出异常。
我查看了源代码,但找不到IndexOutOfBoundsException
被抓住的位置。
为什么我能看到这种奇怪的行为?这种行为是否记录在任何地方?
答案 0 :(得分:0)
在首先检查异常之前,先验证所有import语句。 它也可以写成
mListView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
// TODO Auto-generated method stub
}
});
这里我们需要导入AdapterView。即
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
这么容易..
答案 1 :(得分:-1)
您的代码应该是这样的
mListView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
// getting values from selected ListItem
String name= ((TextView) view.findViewById(R.id.textview)).getText().toString();
}
});