2013-04-30 6 views
0

화면을 탐색하기 위해 간단한 버튼을 얻으려고하는데 가이드를 따라갈 때 내가 뭘 잘못했는지 잘 모릅니다!Android 버튼이 작동하지 않는 이유가 무엇인가요?

첫 페이지 코드 :

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

public class MainActivity extends Activity { 

Button aButton; 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_main); 
} { 
aButton = (Button) this.findViewById(R.id.scales); 
aButton.setOnClickListener({;new OnClickListener(); 
} 
public void onClick(View v){ 
Intent i = new Intent(mainactivity.this, buttons2.class); startActivity(i); 
} } 

매니페스트 : 두 번째 페이지에 대한

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.example.xx" 
android:versionCode="1" 
android:versionName="1.0" > 

<uses-sdk 
    android:minSdkVersion="8" 
    android:targetSdkVersion="17" /> 


<application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name="com.example.xx.MainActivity" 
     android:label="@string/app_name" > 
       android:label="MainActivity"> 
    <intent-filter> 
    <action android:name="android.intent.action.MAIN" /> 
    <category android:name="android.intent.category.LAUNCHER" /> 
    </intent-filter> 
</activity> 
<activity android:name="Buttons2" android:label="Buttons2"></activity> 

    </application> 

</manifest> 

코드 :

import android.app.Activity; 
import android.os.Bundle; 

public class Buttons2 extends Activity { 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.other); 
} } 

도와주세요!

감사합니다.

+0

; 새롭다 aButton.setOnClickListener ({; new OnClickListener(); -> aButton.setOnClickListener ({new OnClickListener(); –

답변

0

onCreate 방법에 문제가있는 것으로 보입니다. onCreate을 닫고} 다음으로 findViewById을 통해 버튼을 찾으려고합니다. 이것은 메소드 내에 포함되지 않기 때문에 결코 호출되지 않습니다. 다음과 같이 시도하십시오.

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

aButton = (Button) this.findViewById(R.id.scales); 
aButton.setOnClickListener(new View.OnClickListener() 
    public void onClick(View v){ 
     Intent i = new Intent(mainactivity.this, buttons2.class); 
     startActivity(i); 
    }); 
} 
1

코드를 다시 포맷 해보십시오. 많은 괄호로가는 길은 있습니다.

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    aButton = (Button) this.findViewById(R.id.scales); 
    aButton.setOnClickListener(new OnClickListener() { 
     public void onClick(View v) { 
      Intent i = new Intent(mainactivity.this, buttons2.class); 
      startActivity(i); 
     } 
    }); 
} 
0

귀하의 MainActivity 블록 심각한 문제가 있습니다 :
그것은이 방식으로 작동한다

public class MainActivity extends Activity { 

    Button aButton; 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     aButton = (Button) this.findViewById(R.id.scales); 
     aButton.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       Intent i = new Intent(MainActivity.this, Buttons2.class); 
       startActivity(i); 
      } 
     }); 
    } 
} 
0

O를 당신의 MainActivity의에서 onCreate()를 문제입니다. 이렇게 보일 것입니다.

@Override 
public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_main); 
aButton = (Button) this.findViewById(R.id.scales); 
aButton.setOnClickListener(new OnClickListener(); 
tb.setOnClickListener(new OnClickListener(){ 
    public void onClick(View v) { 
     Intent i = new Intent(MainActivity.this, Buttons2.class); 
     startActivity(i); 
    } 
}); 

또한 당신이 당신의 경우 findViewById(); 전에이를 작성할 필요가 없습니다 모든

android:id="@+id/R.id.scales" 
0

첫째로 activity_main.xml에 버튼이 있는지 확인하십시오. 다음과 같이 수정하십시오.

public class MainActivity extends Activity { 

Button aButton; 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

     aButton = (Button) this.findViewById(R.id.scales); 
     aButton.setOnClickListener(new OnClickListener() 

     public void onClick(View v){ 
     Intent i = new Intent(mainactivity.this, buttons2.class); 
     startActivity(i); 
     }); 
    } 
} 

나머지는 맞습니다.

관련 문제