2017-01-11 11 views
0

インターネット上のリンクを開くボタンを作成し、別のアクティビティにスワップするボタンがあります。両方のコードにはバグはありませんが、アプリを実行してクリックするとアプリがクラッシュします。ボタンをクリックするとアプリケーションが終了する

リンクにButton:

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    return inflater.inflate(R.layout.fourth_layout, container, false); 
} 
public void buttona1(View view){ 
    Intent browserIntent=new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.google.nl")); 
    startActivity(browserIntent); 
} 

ボタンの活動へ:

View myView; 

@Nullable 
@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    myView = inflater.inflate(R.layout.fifth_layout, container, false); 
    return myView; 
} 
public void sendMessage(View view) { 
    Intent myintent = new Intent(FifthFragment.this.getActivity(), startGamee.class); 
    startActivity(myintent); 

} 

このエラー:

E/AndroidRuntime: FATAL EXCEPTION: main 
        Process: com.example.jannes.app, PID: 23465 
        java.lang.IllegalStateException: Could not find method startgame(View) in a parent or ancestor Context for android:onClick attribute defined on view class android.support.v7.widget.AppCompatButton with id 'button11' 
         at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.resolveMethod(AppCompatViewInflater.java:327) 
         at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:284) 
         at android.view.View.performClick(View.java:5697) 
         at android.widget.TextView.performClick(TextView.java:10814) 
         at android.view.View$PerformClick.run(View.java:22526) 
         at android.os.Handler.handleCallback(Handler.java:739) 
         at android.os.Handler.dispatchMessage(Handler.java:95) 
         at android.os.Looper.loop(Looper.java:158) 
         at android.app.ActivityThread.main(ActivityThread.java:7229) 
         at java.lang.reflect.Method.invoke(Native Method) 
         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) 
         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120) 
I/Process: Sending signal. PID: 23465 SIG: 9 
Application terminated. 
+0

例外メッセージはかなり明確です。どうやら、オブジェクトにはないメソッドを使用しようとしています。それを調べましたか? – Carcigenicate

+0

エラーは自明です: 'java.lang.IllegalStateException:親または祖先のメソッドstartgame(View)を見つけることができませんでした。android:onClick属性がビュークラス' –

+0

に定義されています。どういう意味ですか? –

答えて

0

がでていることを確認してくださいあなたのfourth_layoutあなたはこの

<Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:onClick="buttona1" 
    android:id="@+id/button11"/> 

を参照してください持って次にAndroid unable to find my onClick method

またはこの

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    myView = inflater.inflate(R.layout.fifth_layout, container, false); 
    Button btn1 = (Button) myView.findViewById(R.id.button11); 

     btn1.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       buttona1(); // call buttona1 method 
      } 
     }); 
     return myView; 
    } 

から
public void buttona1(){ 
    Intent browserIntent=new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.google.nl")); 
    startActivity(browserIntent); 
} 
0

あなたはボタンの属性に置く値は android:onClick="startGame" する必要があります名前と同じボタンをクリックすることで呼び出され、あなたの関数が

public void startGame(View view){} 
+0

2つの異なるボタンがあり、両方とも機能が異なります。 –

関連する問題