2013-05-12 2 views
0

초보자는 여기.Android 메소드 매개 변수의 의미/사용?

먼저이 질문은 xml의 android : onClick을 사용하고 메소드를 참조하여 버튼 클릭을 구현하려고 시도하면서 도착했습니다.

이제 메서드를 참조 할 때 해당 활동의 메서드 매개 변수는 "(보기)"이어야합니다. 간단한 질문입니다. 메서드 매개 변수에서 View라는 단어 다음에 오는 변수는 무엇입니까? 일반적으로 "(보기 v)"또는 "(보기보기)"와 같습니다. 매개 변수의 두 번째 변수는 무엇 일 수 있습니까? 언제 사용됩니까? 그것에 대한 일반 정보를 원한다면 어디서나 특정 정보를 찾을 수 없습니다.

미리 감사드립니다.

+0

두 가지 인수가 아닙니다. 모든 인수는 이름과 유형으로 선언해야합니다. 'View v'는'View' 타입의'v'라는 인자를 선언합니다. – Simon

답변

1

난 당신이 오해 생각합니다. (View view)의 첫 번째 매개 변수는 매개 변수의 유형이고 두 번째 매개 변수는 제공된 임시 이름입니다.이 매개 변수는 임시 이름이므로 원하는대로 사용할 수 있습니다. 예를 들어 매개 변수로 정수를 전달해야하는 경우 을 사용합니다. iint으로 인식됩니다. 그래서, 당신의 경우에 View 타입의 객체는 일시적으로 view이라 불려 함수로 매개 변수로 전달됩니다.

+0

그래서이 사건보기 후 무엇이든간에, 나는 내가 좋아하는 것으로 변경할 수 있습니까? 변수처럼? – Alex

+1

그렇기 때문에 "더미"변수라고도합니다. – Neoh

+0

감사! 그게 내가 필요한 전부 야. – Alex

0

이것은 사용자가 클릭하는보기를 나타냅니다. 여기에서 question을 살펴보면 언제 사용할 수 있는지 알 수 있습니다.

0

그래서 onClick()에 대해 묻고 있습니까? 이 방법은 View.onClickListener 인터페이스에서, 당신은 인터페이스이기 때문에 http://developer.android.com/reference/android/view/View.OnClickListener.html

에서 문서를 볼 수 있으므로 단지 paramater있을 것입니다 :보기, 당신이 단지 클릭 한 관점을 나타냅니다. 예를 들어, 버튼을 인터페이스에 설정하면 단추를 의미하고, ImageView를 인터페이스에 설정하면 ImageView 자체를 의미합니다. 예를 들어

:

YourActiivty extends Activity implements View.OnClickListener { 
    public void onCreate(Bundle onSaveInstance) { 
     super.onCreate(onSaveInstance); 

     setContentView(R.layout.yourlayout); 
     //your button, we assume id is R.id.yourbutton; 
     Button yourbutton = (Button) findViewById(R.id.yourbutton); 
     yourbutton.setOnClickListener(this); 
     //your imageview, we assume id is R.id.yourimageview; 
     ImageView yourImageView = (ImageView) findViewById(R.id.yourimageview); 
     yourImageView.setClickable(true); 
     yourImageView.setOnClickListener(this); 
    } 
    @Override 
    public void onClick(View v) { 
      int id = v.getId(); 
      if(id == R.id.yourbutton) { 
      //your button is clicked! 
      } else if(id == R.id.yourimageview) { 
      //your imageview is clicked! 
      } 
    } 
} 
+0

매개 변수 View 뒤에 실제 문자 "v"가 무엇인지 묻고 싶습니다. 변수와 같은 것입니까? 원하는대로 변경할 수 있습니까? – Alex

+0

물론 원하는대로 변경할 수 있습니다. 프로그래밍에 대한 기본적인 지식이 있어야한다고 생각합니다. – buptcoder

+0

매우 기초적입니다. 그래서 내가 beginginer입니다 :) – Alex

관련 문제