2017-12-02 9 views

답변

0

모든 View은 수신기로 수신 대기 할 수있는 onClick 이벤트를 수신 할 수 있습니다.

버튼을 클릭 할 때 모든 클릭 이벤트를 수신하고 특정 동작을 수행하려면 클릭하고 메시지를 표시하는 경우에는 활동을 OnClickListener으로 설정 한 다음 클릭 된보기입니다.

public class MainActivity extends Activity implements View.OnClickListener{ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     View v = findViewById(R.id.top_most_view); 
     v.setOnClickListener(this); 
    } 

    @Override 
    public void onClick(View v){ 
     if(v.getId() == R.id.button1){ 
     // do something for the button 
     }else if(v.getId == R.id.button2){ 
     // other button 
     }else{ 
     // Show the non clickable message 
     } 
    } 

} 

R.id.top_most_view는 레이아웃의 최상단보기의 ID입니다. 예를 들어, 다른 모든 뷰를 포함한 LinearLayout입니다.

예에서는 두 개의 버튼 만 넣었지만 원하는만큼 추가 할 수 있습니다. 또한 계단식 ifs 대신 스위치를 사용할 수 있습니다.

코드에 오자가있을 수 있습니다. 테스트하지 않았습니다. 그러나 솔루션을 구현하는 방법에 대한 일반적인 아이디어를 얻어야합니다.

+0

감사합니다. – InDaPond