2014-07-12 4 views
0

Android 앱을 만들려고하고 있으며 클릭 리스너를 만들고 싶습니다. 지금까지 내가 가지고있는 것입니다. 보시다시피onClickListener의 버튼을 참조하는 방법은 무엇입니까?

public void amazonListener() { 
amazonButton = (Button) findViewById(R.id.amazonButton);     
} 

, 나는 매우 초기 단계에,하지만 내가 먼저 참조하는 경우 amazonButton 버튼 (= 기호 전에), 그것은 빨간색 텍스트로 변신하며 심볼 'amazonButton'을 확인할 수 없습니다 말한다. 또한 onCreate 메서드에서이 메서드를 참조했습니다.

+0

시도'하는 JButton amazonButton = ...'를. 아마존 버튼이 어떤 종류인지 말할 필요가 있습니다. – csmckelvey

+0

이제 'JButton'에 같은 오류가 표시됩니다. – rakeshdas

+0

'JButton' 클래스를 가져 왔습니까? – csmckelvey

답변

0

이렇게하면 버튼을 만들고 클릭 리스너를 설정하는 방법입니다. 당신이 시도했습니다처럼

public class MainActivity extends YouTubeFailureRecoveryActivity { 

    Button amazonButton; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     amazonButton = (Button) findViewById(R.id.amazonButton); 
     amazonButton.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       //Define what should happen when the button is clicked. 
      } 
     }); 
    } 
} 

또한, 그 방법을 하나의 방법으로 초기화를 넣어 호출 할 수 있습니다

public class MainActivity extends YouTubeFailureRecoveryActivity { 

    Button amazonButton; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     initializeViews(); 
    } 

    private void initializeViews() { 
     //Make sure you've declared the buttons before you initialize them. 
     amazonButton = (Button) findViewById(R.id.amazonButton); 
     amazonButton.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       //Define what should happen when the button is clicked. 
      } 
     }); 

     // Add more Views initialization here ... 
     .... 
    } 

} 
0

선언 할 때 변수의 형식을 지정해야합니다.

Button amazonButton = (Button) findViewById(R.id.amazonButton); 

다른 방법으로는 선언 할 수 없지만 초기화하지는 말고 나중에 초기화하십시오.

Button amazonButton; 
/* ... */ 
private void amazonListener() { 
    amazonButton = (Button) findViewById(R.id.amazonButton);     
} 
관련 문제