2013-07-30 3 views
-1

현재 내 활동에 단편을 추가하고 있습니다. 프래그먼트에는 버튼이있는 LinearLayout이 있습니다. 그러나 버튼을 클릭하면 click 이벤트가 프래그먼트가 아닌 액티비티로 전송됩니다. 활동이 아닌 조각에서 버튼 클릭 이벤트를 수신하려면 어떻게해야합니까?조각 하위 클래스의 수신 버튼 클릭 이벤트

+1

'onClick' 속성을 사용한다면 실제로 메소드가 있어야합니다. 그러나 단편에 동일한 메소드를 작성하고 (단편 인스턴스를 찾은 후) 활동 메소드에서이를 호출 할 수 있습니다. 하지만'OnClickListener'를 수동으로 설정하는 것이 더 낫습니다. – Luksprog

+0

> 조각 활동에 대한 자세한 내용은 > [조각이란 무엇입니까?] (http://developer.android.com/training/basics/fragments/creating.html)? > [조각 활동 방법] (http://developer.android.com/reference/android/support/v4/app/FragmentActivity.html)? > [단편 자습서] (http://marakana.com/s/post/1250/android_fragments_tutorial) – QuokMoon

답변

1

는 전달 클릭 이벤트로 listener하면 본드로 전송

Button b = (Button)findViewById(R.id.myButton); 
b.setOnClickListener(myFragmentWhichImplementsButtonClickListener); 
0

등의 단편에있어서, 해당의 단편 안에, 또는 인라인으로 OnClickListener를 상기 버튼의 onclick method 설정 클릭되는보기. 따라서 뷰가 직접적으로 액티비티의 일부이거나 조각의 일부인 경우에는 기본적으로 관련이 없습니다. 버튼에 청취자를 연결하면 해당 청취자가 이됩니다. 버튼이 어떻게 든 즉, 클릭을 "훔치는"레이아웃의 다른 요소에 의해 덮히지 않는 한. 그러나 수신기 내에서 조각 (예 : onCreateView())으로 설정해야합니다.