0
일부 요소가 포커스를 훔치고 있으며 목록 뷰의 클릭이 등록되지 않습니다. 누군가가 찾을 수있는 방법을 제안 할 수 있습니까? 응용 프로그램 작동 방법은 다음과 같습니다포커스가 onclick을 방지합니다.
은 다음과 같습니다
활동> 내부 사용자 정의보기> onTouch> AlertDialog.builder.setView (사용자 정의 목록보기)
내가 실수로 나는 두 가지 선택이 필요하다고 생각하고, 총 성공과 함께 사용 이전에 빌더에서 .setPositiveButton 및 .setNegativeButton을 사용하여 동일한 설정. 하지만 더 많은 선택, 따라서 ListView가 필요합니다. 여기
리스트 뷰에서 관련 라인은 다음과 같습니다final ListView lv = new ListView(this);
lv.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, names) {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) { convertView = new TextView(GameActivity.this); }
((TextView)convertView).setText((String)getItem(position));
return convertView;
}
public long getItemId(int position) { return position; }
public String getItem(int position) { return names[position]; }
public int getCount() { return names.length; }
});
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
///////Nothing happens, never called
}
});
나는 2-30 스택 오버플로 게시물을 읽고, 그것은 거의 항상 초점을 훔쳐보기 함께 할 수있는 뭔가가. 어떤보기가 포커스를 훔치고 있는데 어떻게 디버깅 할 수 있습니까?
감사합니다. :)
만약'convertView'가 위에서 정의한 TextView 일 뿐이라면 다른 것은 awry입니다 ...'onItemClick()'에서 무엇을하려하고 있는데, 어떻게 호출되지 않았는지 어떻게 알 수 있습니까? – Sam
오! 그것은 작동하지만 ... 대화 상자가 열려 있습니다. 나는 내가 바보 인 이유 외에는 stackoverflow를 읽는 데 2 시간을 소비했다고 생각한다. 하지만 답변을 주셔서 감사합니다, 그것은 올바른 방향으로 나를 팁! – pouzzler
"나는 2 시간 동안 stackoverflow를 읽지 않고 내가 바보라고 생각합니다." 연구하는 동안 시간 낭비가 아니 었으면 좋겠다. 그러나 onItemClick()에서'dialog.dismiss()'를 호출하여 그것을 닫으십시오. – Sam