2012-09-05 5 views
0
package com.example.example; 

import android.os.Bundle; 
import android.app.Activity; 
import android.content.Intent; 
import android.widget.Button; 
import android.view.View; 
import android.view.View.OnClickListener; 

public class MainActivity extends Activity { 
    Button btn; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     this.setContentView(R.layout.activity_main); 
     this.btn = (Button)this.findViewById(R.id.button); 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     this.btn.setOnClickListener(new OnClickListener() { 

      public void onClick(View v) {   
       Intent intent = new Intent(MainActivity.this, profile.class); 
       startActivity(intent); 
      }  
     }); 
    } 
} 

아무런 오류가 없지만 원하는대로 프로그램을 실행하지 않아도됩니다. 나는 안드로이드에 새로 왔고 버튼을 클릭 한 후 두 개의 클래스를 사용하고 있으므로 한 클래스에서 내 프로그램이 onclick을 호출해야한다. 어떻게해야합니까? 내 코드는 위와 같습니다.다른 화면 표시 Android에서 켜기

+0

profile.java 코드를 게시하십시오. – Shalini

+0

'setContentView()'를 두 번 호출 중이므로, 그렇게하지 말아야합니다. 내가 아는 한, 당신은'onCreate()'의 첫 번째 호출이라고해야하고 한 번만 호출해야합니다. –

답변

3

먼저 두 번 선언했기 때문에 this.setContentView(R.layout.activity_main);을 먼저 제거하십시오. 그리고 내 코드 아래 매니페스트 file.Check에 프로필 활동을 선언

setContentView(R.layout.activity_main);

btn = (Button)this.findViewById(R.id.button);

을 선언합니다.

@Override 
public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 

    setContentView(R.layout.activity_main); 
    btn = (Button)this.findViewById(R.id.button); 
    btn.setOnClickListener(new OnClickListener() { 

     public void onClick(View v) { 

       Intent intent = new Intent(MainActivity.this, profile.class); 
      startActivity(intent); 
     }  
    }); 
0

1)에서 OnCreate 방법은 하나 아래처럼 보일 것입니다.

@Override 
public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 

    setContentView(R.layout.activity_main); 
    btn = (Button)this.findViewById(R.id.button); 
    btn.setOnClickListener(new OnClickListener() { 

     public void onClick(View v) { 

       Intent intent = new Intent(MainActivity.this, profile.class); 
      startActivity(intent); 
     }  
    }); 

2) 매니페스트에 프로필 활동을 추가합니다.

3) onClick 메서드에 로그를 추가하여 호출되지 않는지 알아야합니다.

해피 코딩 !!

관련 문제