SimpleCursorAdapter를 사용하여 listview를 만들었습니다. 각 행에 여러 개의보기 (4 개의 텍스트 뷰)가 포함되어 있습니다. 클릭 할 때 textview에 하나의 상황에 맞는 메뉴를 추가하고 싶습니다.SimpleCursorAdapter onClick의 하위보기 (Textview)에 상황에 맞는 메뉴 추가
textview 중 하나에 컨텍스트 메뉴를 추가했지만 textview의 onclick은 항상 마지막 행의 데이터 (마지막 행의 textview 데이터)를 제공합니다.
이 문제는 어떻게 해결할 수 있습니까?
아래 코드에서 내가 텍스트에 사용자가 클릭 내가 컨텍스트 메뉴에 등록 할 때 텍스트 뷰에 온 클릭 리스너를 설정하고있다 :
다음은 내 코드입니다.
public View getView(int position, View convertView, ViewGroup parent) { address = (TextView) row.findViewById(R.id.host_address);
address = (TextView) row.findViewById(R.id.host_address);
address.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
registerForContextMenu(address);
openContextMenu(address);
unregisterForContextMenu(address);
}
}); }
상황에 맞는 메뉴 :
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
menu.setHeaderTitle(address.getText());
menu.add(0, OPEN_MAP, 0, "Open in maps");
menu.add(0, COPY_ADDRESS, 1, "Copy");
}
참고 : - ** 위의 코드에서 ** address.getText() 항상 마지막 행의 주소를 반환.
위의 기능과 관련된 코드를 게시하십시오. –
아무 일도 일어나지 않을 수 있습니다! –
@RameshR 코드가 추가되었습니다. – Joe