2011-04-05 7 views
1

나는 안드로이드에 GridView가 있고 BaseAdapter 클래스의 getView 오버라이드 된 메소드 내에서 작성된 TextView를 채우고 있습니다. 초기에 생성 된 TextView의 onClick 메서드는 구현되지 않았지만 눌린 느낌을 수행합니다. 하지만 TextView의 onClick을 구현하면 onClick 액션이 수행되지만 눌린 느낌은 사라집니다.안드로이드 GridView 내에서 클릭 가능한 TextView

메서드가 onClick 구현 된 경우에도 눌린 TextView 작업 감각을 가질 수있는 방법이 있습니까? 하이 사람들 업데이트

감사

는, 그것을 작동하지 않았다 반환 거짓은 컴파일 오류를 보여줍니다. 내가 뭘하려고 다음과 같이 somiething 경우 : BaseAdapter가이 시점에서의 GridView

public View getView(int position, View convertView, ViewGroup parent) { 
    TextView v; 
    if(convertView == null){ 
     v = new TextView(); 
    }else{ 
     v = (TextView) convertView; 
    } 
} 

을 채우는 안에는 텍스트 뷰는 초점을 맞추고 클릭 뷰의 감각이 될 수있다. 하지만 난 그 같은 OnClickListener를 구현하는 경우, 내가 작업 만 누르면 뷰 (또는 집중)의 감각을 수행 할 수는 사라 :

view.setOnClickListener(new View.OnClickListener() { 
     @Override 
      public void onClick(View v) { 
       deleteHour(mapDays.get(day)); 
      } 
     }); 

내가의 GridView에 onClick 이벤트와 또 다른 하나가 있음을 볼 수있다 TextView. 나는 TextView에서 onClick 메서드를 구현할 때 GridView에서 onClick을 사용할 수 없게한다고 생각합니다.

아마도 TextView를 클릭 할 때 TextView 클릭 상태를 변경하려면 어떻게해야합니까? 아이디어 있니?

답장을 보내 주셔서 감사합니다.

+0

텍스트 뷰에 여전히 포커스가 있기를 원하십니까? –

+0

popint를 얻지는 못했지만, onClickListener의 끝 부분에서 false 만 반환하면됩니까? 이것은 다른 Listeners의 실행을 가능케하기로되어 있습니다. – 2red13

+0

네, textview에 여전히 포커스가 있어야합니다! That 's Right @Zack! @ 2red13 onClickListener() 끝에 false를 반환하려고합니다! 그것이 효과가 있다면 나는 당신에게 여기로 돌아와! 고마워요! – mlecar

답변

4

나는 그것을했다! 내가 발견

방법은이 같은의 GridView의 setOnItemClickListener을 무시하는 것입니다

gridview.setOnItemClickListener(new OnItemClickListener() { 
@Override 
public void onItemClick(AdapterView<?> adapter, View view, int position, long id) { 
} 

나는이 같은 문제를 가진 사람을 도움이되기를 바랍니다!

감사합니다.

관련 문제