2012-01-02 6 views
1

EditText으로 확장되는 사용자 정의보기가있는 활동이 있습니다. 일반적으로 누군가가 EditView를 길게 칠 때 menu pops up은 입력 방법을 선택하도록 사용자에게 요청합니다.Android :보기의 의도 열기

나는 내가 입력 내 자신의 방법을 사용 이후 onLongClick는이 메뉴가를 표시하지 만들를 오버라이드 (override)합니다. 그러나, 사용자가 EditText (또는 오히려 EditText를 확장하는 내보기)를 longclicks 할 때 ListActivity이 시작되기를 원합니다. 그러나보기가 의도를 발사 할 수없는 것 같습니다. 활동 만 가능합니까?

좋아요, 그래서 내 EditText와 유사한보기를 생성 한 활동에서 longclick을 캡처하려고합니다. 그러나 내 EditText와 비슷한보기 내에서 이미 의 "입력 방법을 선택하십시오" 메뉴가 나타나지 않도록 false로 설정하면 오버레이 된 onLongClick()에 true를 설정하여 longclick을 소비하므로 매우 큰 메뉴가 나타나고 longclick. 어느 경우에도 의도가 발생하지 않습니다 ...

요약 : 사용자가 수정 텍스트를 longclicks하고 사용자 지정 ListActivity를 시작하려고합니다. 어떻게해야합니까?

는 편집 : 그래서 나는 Context objectstartActivity을 발견했다. 하지만 사용자가 목록에서 항목을 선택하게 할 것입니다. 그 항목은 다음 EditText에 나타납니다, 그래서 내가 우연히 2 Context object :(

편집에 나타나지 않습니다 startActivityForResult 사용하는 줄 알았는데 : 내가 다시 활동에서 결과를 얻을 어떻게 가 시작을 startActivity?

+0

제 질문에 대한 좋은 형식을 알려 주셔서 감사합니다. 나는 stackexchange 포맷팅에 능숙하지 않다 ... – mickey

답변

2

당신은 start another Activity에 활동을 필요로하지만, Context 객체하지 않습니다.

당신은 여기에 두 가지 옵션이 있어요. 당신은 사용자 정의 생성자 또는 setter 메소드를 사용하여 사용자에 사용자 정의보기를 컨텍스트를 전달할 수 있습니다 또는 OnLongClickListener가 implem이어야합니다. 액티비티에 유인하여 거기에서 사용자 정의 EditText로 설정합니다.

+0

나는 하나의 옵션으로 가고 싶다. 뷰의 필드로 컨텍스트를 저장하고 있기 때문에 거기에 논리를 다루는 것이 더 논리적이라고 생각한다. 'listActivity '는보기에 분명히 속합니다. ** 어떻게해야합니까? ** _context.startActivityForResult()가 작동하지 않습니다 ... – mickey

+0

정확히 어떻게됩니까? 컨텍스트를 사용자 정의 EditView 클래스에 전달 했습니까? – Flo

+0

'public EqEditText (컨텍스트 컨텍스트) { \t \t super (컨텍스트); \t \t this.setOnLongClickListener (this); \t \t _context = context; \t}' – mickey