Я пытаюсь получить высоту строки и scrollY в моем просмотре списка, когда пользователь касается просмотра списка, чтобы я мог обработать элемент, который щелкнул в OnTouchListener ().Каждая строка в моем представлении списка имеет вид изображения и два текстовых представления
Вот мой код в onTouchListener
battleshipList.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
ListView bs = (ListView) v;
TextView txt = findViewById(R.id.txt_gridInfo);
int action = event.getAction();
if(action == MotionEvent.ACTION_DOWN){
int firstVisibleRow = bs.getFirstVisiblePosition();
int lastVisibleRow = bs.getLastVisiblePosition();
View view2 = (View) bs.getItemAtPosition(firstVisibleRow);
float view2Y = view2.getY();
int view2ScrollY = view2.getScrollY();
int view2Height = view2.getHeight();
View view3 = (View) bs.getItemAtPosition(lastVisibleRow);
float view3Y = view3.getY();
int view3LastY = view3.getScrollY();
int view3Height = view3.getHeight();
txt.setText(String.valueOf(event.getY()) + " "+ String.valueOf(firstVisibleRow) + " " + String.valueOf(lastVisibleRow)+ " FY:" + String.valueOf(view2Y)
+ " FSY:" + String.valueOf(view2ScrollY) + " FH:" + String.valueOf(view2Height)+ " LY:" + String.valueOf(view3Y)
+ " LSY:" + String.valueOf(view3LastY) + " LH:" + String.valueOf(view3Height));
}
return false;
}
});
Проблема заключается в том, что когда я пытаюсь получить представление (или строку), по которому он щелкает, оно даетмне ошибка:
E / MessageQueue-JNI: java.lang.ClassCastException: java.util.HashMap не может быть приведен к android.view.View
Любая помощь приветствуется.